添加GDB符号后应用程序运行缓慢 - 副作用?

时间:2012-06-22 13:22:56

标签: linux gdb mips gdbserver

我们在发布模式下有大约20MB的应用程序。此应用程序旨在在运行Linux 2.6.12的MIPS上运行。它的调试版本大约为42 MB,关闭优化并添加-g标志。额外的22 MB增加只是因为嵌入到应用程序中的gdb调试符号(没有添加日志或打印语句)。

现在调试构建运行比发布模式下的图像慢,如果是,为什么?

AFAIK strip debug_image也应该给我release_image,但就我而言,我会遵守以下内容。

debug_image = 42MB
strip debug_image = 24MB
release_image = 20MB

为什么剥离的debug_image和release_image之间存在差异?

是否有任何其他副作用将gdb符号嵌入到应用程序中?

1 个答案:

答案 0 :(得分:1)

  

与发布相比,现在调试构建运行速度比图像慢   模式,如果是,为什么?

是的,如果优化已关闭,那么在您的情况下也是如此。

  

为什么剥离的debug_image和。之间存在差异   release_image?

由于在发布中进行了优化,因此优化了整个图像大小,从而减少了它。这导致发布时的图像大小小于调试中的图像大小。

  

是否有任何其他副作用嵌入gdb符号   申请?

gdb加载符号需要更长的时间,并且需要更多的内存。