4

我目前正在开发一种工具,该工具允许我即时更改 C++ 代码。更改的文件在后台编译,从 .obj 加载,重新定位和链接,并修补到正在运行的进程中。到目前为止,这工作正常。

但是,我无法为新函数加载符号,以便调试器可以看到它们。我尝试使用 SymLoadModuleEx 创建一个虚拟模块并通过 SymAddSymbol 添加符号,但这不起作用。

最终,我希望能够为新功能添加符号和行信息。我可以从 .pdb 文件或存储在 .obj 中的 COFF 信息(我都有)来做到这一点,但我似乎缺少通知调试器的关键部分。

有没有我错过的功能?还是调试器理解的 RaiseException 的未记录代码(类似于命名线程)?

我使用 Visual Studio,但非常感谢任何有助于使其在 VS 调试器或 WinDBG 中工作的帮助。

4

0 回答 0