GDB:有关回溯中文件的相对和绝对路径的问题
我对 gdb 或 gcc (但不是 firefox)有疑问。
当我调试 Firefox 时,我在 gdb 中只看到绝对路径。示例:
5 0x01bb0c52 in nsAppShell::ProcessNextNativeEvent
(this=0xb7232ba0, mayWait=1)
at
/media/25b7639d-9a70-42ca-aaa7-28f4d1f417fd/firefox-dev/mozilla-central/widget/src/gtk2/nsAppShell.cpp:144
阅读这样的回溯是很不舒服的。 如果我尝试编译和调试微小的测试程序,我会看到这样的回溯(带有文件的相对路径):
0 main () at prog.c:5
How can i see onlyrelative paths in backtraces when debug firefox?
PS海湾合作委员会4.4.1; gdb 7.0。
I have question about gdb or gcc (but not firefox).
I see only absolute paths in gdb when i debugging firefox. Example:
5 0x01bb0c52 in nsAppShell::ProcessNextNativeEvent
(this=0xb7232ba0, mayWait=1)
at
/media/25b7639d-9a70-42ca-aaa7-28f4d1f417fd/firefox-dev/mozilla-central/widget/src/gtk2/nsAppShell.cpp:144
It's uncomfortable for reading such backtraces.
If i try to compile and debug tiny test program i see such backtrace (with relative paths to files):
0 main () at prog.c:5
How can i see only relative paths in backtraces when debugging firefox?
P.S. gcc 4.4.1; gdb 7.0.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
GDB 将根据程序的编译方式显示绝对或相对路径。考虑:
现在相同,但通过绝对路径编译源代码:
再次,这次使用包含目录前缀的相对路径:
因此,您可以让gdb显示相对路径如果 你改变了 Firefox 的构建方式。这可能被证明是一个非常重要的命题。
GDB will show absolute or relative path depending on how the program was compiled. Consider:
Now the same, but compile source via absolute path:
And again, this time with relative path that includes directory prefix:
So, you can get gdb to show relative path if you change the way firefox is built. That may prove to be a very non-trivial proposition.