2016-09-16 7 views

答えて

3

関数の戻りアドレスを見つけるには、スタックトレースを取得します(例:CaptureStackBackTrace)。

GetModuleHandleExを呼び出してGET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESSとし、そのコードを含むモジュールハンドルを取得します。

最後に、GetModuleFileNameを呼び出して、そのモジュールに関連付けられているファイル名を探します。

+0

CaptureStackBackTraceは有望です。それは呼び出し元を取得する信頼できる方法ですか? – user1881587

+0

よくスタックトレースは不完全な技術です。 x86では少なくともABIは完全なスタックトレースを可能にするルールを私が理解した通りに強制しません。実際には、まともなスタックトレーサを混乱させるほど不気味なコードを実行することはまれです。それはあなたのコードなので安全でなければなりません。 –

+0

okありがとう! – user1881587