相关疑难解决方法(0)

从应用程序在运行时读取调试信息

我有一些关于调试符号的问题以及可以用它们做什么,以及调试.我最感兴趣的是有关GCC的答案,但我也很高兴知道它在其他编译器(包括MSVC)下的样子.

首先:

  • 调试符号的常见格式/类型有哪些?
  • 它们如何与编译器和平台相关?GCC和MinGW在平台上的格式是否一样?
  • 我可以在运行时检查构建是否包含它们以及它们的格式是什么?

还有一些更实际的问题...... 我怎么能:

  • 检查当前文件和行号?
  • 获取正在执行的(合格)函数名称?
  • 获得完整的当前堆栈跟踪?

我要强调一点,我说的是运行时检查.所有这些都可以通过GDB读取和漂亮打印,但我不知道调试符号本身有多少信息以及GDB也可以访问的源代码中有多少信息.

也许有一个库能够解析调试符号并产生这样的信息?

调试符号的标准化是否足够好以至于我可以期待这种解决方案的某种程度的可移植性?

c c++ logging gdb debug-symbols

9
推荐指数
1
解决办法
2309
查看次数

标签 统计

c ×1

c++ ×1

debug-symbols ×1

gdb ×1

logging ×1