我目前正在开发一种工具,允许我动态更改C ++代码。更改的文件在后台编译,从.obj加载,重新定位&链接,并修补到正在运行的进程。 到目前为止,此工作正常。
但是,我无法为新函数加载符号,以便调试器可以看到它们。我尝试使用SymLoadModuleEx创建虚拟模块并通过SymAddSymbol添加符号,但这不起作用。
最终,我希望能够为新功能添加符号和行信息。我可以从.pdb文件或存储在.obj中的COFF信息(我有两者)中做到这一点,但我似乎错过了通知调试器的关键部分。
我是否错过了这个功能?或者是调试器可以理解的RaiseException的未记录代码(类似于命名线程)?
我使用Visual Studio,但是在VS调试器或WinDBG中使用它的任何帮助都非常感谢。