2012-08-01 29 views
2

我使用CaptureStackBackTraceSymFromAddr來標識調用堆棧中的函數。 有沒有辦法找到每個符號的源文件(我找不到任何文檔)?或者我必須使用StackWalk?帶有文件信息的CaptureStackBackTrace

+1

您需要模塊的調試符號.pdb文件。使用DebugAPI。 – 2012-08-01 12:13:36

+0

我需要由符號表示的東西的源文件,而不是符號的源文件。 – Raxvan 2012-08-01 15:44:21

+0

我想你會更好用StackWalk64 – 2012-08-01 22:02:33

回答

3

解決方案是使用SymGetLineFromAddr,它提供文件路徑和行號。爲了做到這一點,您必須在撥打SymInitialize之前設置SYMOPT_LOAD_LINES標誌。 SymGetLineFromAddr的第3個參數也必須不爲NULL,否則會崩潰。

Raxvan。