如何从应用程序内部执行调试器命令

问题描述 投票:0回答:1

在运行时,我正在尝试恢复未导出但可通过共享库的符号表使用并因此对调试器可见的函数的地址。

我需要从应用程序内部与附加的调试器进行通信,但是很难为此找到任何API。

我有什么选择?

c gdb lldb mach-o
1个回答
1
投票

在运行时,我试图恢复一个未导出的功能的地址,但是可以通过共享库的符号表使用,因此调试器可以看到它。

调试器不是神奇的独角兽。如果符号表可用于调试器,则它也可用于您的应用程序。

我需要按名称恢复其地址使用调试器 ...

这是完全错误的方法。

而不是使用调试器,而是在应用程序中读取库的符号表,并使用获取的信息来调用目标函数。

读取ELF符号表非常容易。 Example。如果您不在ELF平台上,则获取等效信息应该不会很困难。

© www.soinside.com 2019 - 2024. All rights reserved.