是否可以从Delphi调试Dylib,还是不包含此功能?
据我所知,我应该能够:
1)创建一个主机应用程序,它加载由Delphi部署的Dylib
2)在“运行 - >参数...”中设置“主机应用程序”以匹配此新应用程序。
3)在Delphi中启动调试器时,它应该启动Host Application。主机应用程序加载Delphi生成的Dylib。我应该可以从我的Windows机器上挂钩入口点,并跟踪代码。
就像在Windows上一样,但在远程机器上。
不幸的是,Delphi似乎根本没有抓住Dylib的执行。 正在加载(我甚至不顾一切地查看我的整个机器,看看是否有其他同名的Dylibs被错误地加载),但Delphi没有注意到Dylib由Host Process执行,只等待主机结束。
任何解决方案?
答案 0 :(得分:1)
编辑:我最近意识到XE4可以在Snow Leopard上调试dylib。所以,加载一个旧版本的OSX,如果你有一个躺在那里。
好的,这是解决方案:
1)切换到Delphi XE5
1a)等待升级价格的苦涩消退。可能还要等一下。考虑等待XE6先出来。
2)XE5跟踪可执行进程加载的库,但仍无法正确部署调试符号。
您必须更改OSX输出目录中的文件名。该目录位于“yourProjectFolder / OSX32 / Debug”。构建项目,然后将“yourProject.rsm”重命名为“yourProject.dylib.rsm”。这是Delphi尝试部署的名称,因此您不必将该文件添加到部署设置中。
我希望有一种方法可以自动重命名此文件(也许.dproj文件可能被黑客入侵)。如果我能找到一个,我会把它添加到这个答案。
3)转到1a