gpt4 book ai didi

c - 如何通过使用GDB加载多个符号定义来调试多个应用程序?

转载 作者:行者123 更新时间:2023-12-02 04:14:32 36 4
gpt4 key购买 nike

我正在做嵌入式软件开发。从本质上来说,我有3个同时运行的不同应用程序,这些应用程序保证可以在不同范围的虚拟地址中运行,例如

应用1运行在0x10000000-0x20000000,应用2运行在0x20000000-0x30000000,依此类推。

通常,GDB似乎只接受一个符号定义文件。但是在这种情况下,我可能会加载所有3个定义而不会发生冲突。我怎样才能做到这一点?

其次,假设我所有3个应用程序都在相同的虚拟范围内运行,但是每个应用程序运行时都有所不同,例如,假设一个地址位置包含其地址空间ID,这可为我提供当时加载应用程序的线索。

我该如何告诉GDB加载所有3个符号定义,但根据此信息自动切换定义?

最佳答案

你有没有尝试过

add-symbol-file app1 0x10000000
add-symbol-file app2 0x20000000
add-symbol-file app3 0x30000000

由于所有地址都不相同,并且所有应用程序都是在同一时间加载的,因此我不太理解“当时加载哪个应用程序的线索”的含义。

如果实际上没有同时加载应用程序,则 GDB overlay support可能会有所帮助。

关于c - 如何通过使用GDB加载多个符号定义来调试多个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3467141/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com