gpt4 book ai didi

c - 回溯时如何获取文件名和行号?

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:25 24 4
gpt4 key购买 nike

我在下面的帖子中看到了一个非常好的获取符号名称的方法。

Win32 - Backtrace from C code

但是获取文件名和行号呢?我尝试使用 SymGetLineFromAddr64 但无法获取此调试信息。

最佳答案

如果您无法获得此调试信息,并且您的代码是正确的,那么问题可能出在选项上。您需要 SYMOPT_LOAD_LINES 来加载此信息:

SymSetOptions(SYMOPT_LOAD_LINES);

然后,假设您正在使用您提供的链接中的代码,它将是这样的:

DWORD  dwDisplacement;
IMAGEHLP_LINE64 line;

SymGetLineFromAddr64(process, (DWORD64)stack[i], &dwDisplacement, &line);

现在您可以访问这些 line 成员(来自 IMAGEHLP_LINE64 structure ):

DWORD   LineNumber;
PTSTR FileName;

关于c - 回溯时如何获取文件名和行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12467619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com