【发布时间】:2016-05-31 05:26:19
【问题描述】:
我想在 glibc 中调试一些东西,所以我想使用 glibc 的调试版本来构建程序。 如果我只是使用“gcc -o test test.c”来构建程序,
apt-get install libc6-dbg
apt-get source libc6-dev
当我调试程序时,一些 val 被告知它已经过优化。并且 EIP 总是跳回来。
如何调试 glibc 的调试版本。
【问题讨论】:
-
试过用 -g 编译?
-
@immibis:这不符合 OP 的要求。
-
实际上这不是一个单独的版本,而是主库的调试符号。由于主库是用优化构建的,是的,可以预期一些函数是内联的,否则会被优化掉。如果您需要未优化的代码,您可能希望使用
-g标志从头开始编译 libc,但即使在这种情况下也有一些 asm 内联。