Dav*_*vid 105 delphi stack local-variables debug-symbols
我的目标是:
第一个很好,这是这个问题的第二个问题.在高级别,如何在Delphi中给出堆栈条目枚举局部变量?
在较低的水平,这是我一直在调查:
RTTI:没有列出有关方法的这类信息.这不是我实际上认为是一个现实的选择,但无论如何列在这里.
调试信息:加载为调试版本生成的调试信息.
我遇到的问题是:
如果这是正确的方法,那么这个问题变成'是否有TDS/TD32文件格式的文档,是否有任何加载局部变量的代码示例?'
代码示例不是必需的,但可能非常有用,即使它非常小.
检查是否有任何调试符号不是二进制的。也可以使用 GDB(在 Windows 上是它的一个端口)。如果您找到 .dbg 或 .dSYM 文件,那就太好了。它们包含源代码,例如。
gdb> list foo
56 void foo()
57 {
58 bar();
59 sighandler_t fnc = signal(SIGHUP, SIG_IGN);
60 raise(SIGHUP);
61 signal(SIGHUP, fnc);
62 baz(fnc);
63 }
Run Code Online (Sandbox Code Playgroud)
如果您没有任何调试文件,您可以尝试获取 MinGW 或 Cygwin,并使用 nm(1) (手册页)。它将从二进制中读取符号名称。它们可能包含一些类型,例如 C++ 类型:
int abc::def::Ghi::jkl(const std::string, int, const void*)
Run Code Online (Sandbox Code Playgroud)
不要忘记添加--demangle
选项,否则你会得到类似的结果:
__ZN11MRasterFont21getRasterForCharacterEh
Run Code Online (Sandbox Code Playgroud)
代替:
MRasterFont::getRasterForCharacter(unsigned char)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1616 次 |
最近记录: |