ERROR: Dll ‘XXXXX[NNNNNNNN].APP’ has initialised data (2)

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

[[Finding Initialized or Uninitialised static data in a DLL>http://newlc.com/Finding-Initialized-or.html]]のReplyに素晴らしいbatファイルが書かれていた。
>rem —— start of find_statics. ——~
>@echo off~

>rem —— end of find_statics.bat ——~
>(written by Anatoly kardash)~
これを使えば、エラーとなっているシンボル名、ソースファイル名が分かる。~
使い方は、find_statics.batをパスが通っているとこに置いて、
cd epoc32\build\・・・\thumb
find_statics.bat
ただ、
cd epoc32\build\・・・\thumb
が面倒・・・。~
なので、EPOCROOTとかから勝手に場所を決めて実行するように改良。~
”※ 自分の環境のみで確認・・・”~
[[find_statics.bat>https://qos.dev7.net/files/find_statics.bat]]
@echo off
REM
REM find_statics.bat
REM
REM USAGE:
REM find_statics.bat
REM find_statics.bat XXX.mmp
REM
setlocal ENABLEEXTENSIONS
set PLATFORM=THUMB
set DEB=UREL
IF “%1″==”” goto recurs
IF NOT “%2″==”” set PLATFORM=%2
set TARGET=
rem TARGET名取得
FOR /F “usebackq tokens=2” %%i IN (`findstr “^TARGET\>” %1`) DO set TARGET=%%i
IF “%TARGET%”==”” goto err_end
REM echo %TARGET%
set TARGET_BASE=
rem ベースファイル名取得
FOR /F “delims=.” %%i IN (“%TARGET%”) DO set TARGET_BASE=%%i
IF “%TARGET_BASE%”==”” goto err_end
REM echo %TARGET_BASE%
IF “%EPOCROOT%”==”” set EPOCROOT=\
REM echo %EPOCROOT%
set DIRNAME=%~p1%
REM call dirname %1
set FRONT_PATH=%EPOCROOT%epoc32\build
echo %FRONT_PATH%%DIRNAME%%TARGET_BASE%\%PLATFORM%\%DEB%
cd %FRONT_PATH%%DIRNAME%%TARGET_BASE%\%PLATFORM%\%DEB%
for /R %%f in (*.o) do (

:end
REM echo —– end —–
exit /B
:err_end
echo nothing mmp file…
REM echo —– end error —–
exit /B
:recurs
FOR /F “usebackq” %%i IN (`dir /B *.mmp`) DO set FILENAME=%%i
IF NOT “%FILENAME%”==”” (call %0 %FILENAME%) ELSE goto err_end

カテゴリー: M1000 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です