有没有办法让Delphi读取其他调试格式?
当我在 Delphi 中调试某些东西并且堆栈跟踪中有一个系统库时,我得到了该库的名称和正在调用的函数。不幸的是,这似乎不适用于任何其他外部 DLL。我有一个在 Visual C++ 2005 中编译的,每当它给我带来任何麻烦时,我都必须附加 VS 调试器并开始从原始入口点跟踪代码,因为 Delphi 不给我任何线索实际上正在发生。
这个DLL是用VS的调试信息编译到其中构建的,但显然Delphi无法读取它。有没有办法通过调试选项来改变这一点,这样我就可以在堆栈跟踪中获得有意义的函数名称,就像使用系统库一样?
When I'm debugging something in Delphi and there's a system library in the stack trace, I've got the name of the library and the function that's being called into. Unfortunately, this doesn't seem to apply to any other external DLLs. I've got one that was compiled in Visual C++ 2005, and any time it gives me any sort of trouble, I have to attach the VS debugger and start tracing through the code from the original entrance point, because Delphi gives me no clue what's actually happening.
This DLL was built with VS's debug information compiled into it, but apparently Delphi has no way of reading it. Is there some way to fiddle with the debug options to change that, so I can get meaningful function names in my stack trace the same as I can with system libraries?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Delphi 和 Microsoft 各自使用自己的调试信息,并且不能使用对方的调试信息。
这两个页面可能会让您进行转换:
使用 Delphi 调试符号/工具
调试格式互操作性
但我只是启动 Visual C++ 2005 并在那里调试 C++ 部分。也就是说:与 Stack Overflow 问题中的解决方案相反如何调试Delphi 中的 DLL 文件。
Delphi and Microsoft each use their own kind of debug information, and neither can use the other's kind.
These two pages might get you going into conversion:
Debugging symbols/tools using Delphi
Debugging Format Interoperability
But I'd just fire up Visual C++ 2005 and debug the C++ portion there. That is: the opposite of the solution in Stack Overflow question How to debug a DLL file in Delphi.