Delphi 5可以生成VS可以使用的.PDB文件吗?
我们已经用 Delphi 5 编写了这个大型应用程序,并且开发工作至今仍在进行中。目前正在研究迁移到较新的版本,但到目前为止还没有成功,因为一些 3rd 方组件已经很久没有更新,并且无法在更高版本上运行。
但与此同时,人们需要继续努力。现在 Delphi 5 IDE 已经不再是真正的享受了。它漏洞百出,并且缺乏许多当代 IDE 的功能,这使得它很难使用。尤其是在调试时。
所以我想知道 - 是否可以在此过程中使用 Visual Studio?据我所知,.PDB 文件格式相当古老,并且有详细的文档记录。是否可以让 Delphi 编译器以某种方式为其编译结果生成 .PDB 文件?然后可以使用 Visual Studio 来调试程序,调试程度可能比原始 IDE 更大。
嗯,绝对的圣杯是将所有开发转移到 VS,只保留 Delphi 的编译器,但我认为这是几乎不可能的。
We've got this large application written in Delphi 5, and development is ongoing to this day. There is research going on into migrating to newer versions, but so far there is no success, as some 3rd party components have not been updated in ages and do not work on later versions.
In the meantime however people need to continue work on it. Now Delphi 5 IDE is no real treat. It's pretty bug-ridden and lacks a lot of features of contemporary IDEs which makes it difficult to use. Especially when it comes to debugging.
So I was wondering - would it be possible to use Visual Studio in the process? As far as I know the .PDB file format is pretty old and is well documented. Could it be possible to make the Delphi compiler to somehow generate a .PDB files for it's compiled results? Then the program could be debugged with Visual Studio, possibly to a much greater extent than in the original IDE.
Well, the absolute Holy Grail would be to move all development to VS, just keeping the compiler from Delphi, but I imagine that would be pretty impossible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
不可以,任何其他版本的 Delphi 也不能。您可以使用 Map2Dgb 来打开 详细映射文件 到 dbg 文件中,您可以在 WinDbg 中使用它。
我很好奇您希望在 Visual Studio 中使用哪些调试功能,而 Delphi 5 中没有,并且也不依赖于 IDE 理解 Delphi 语言。我一直对 Delphi 5 非常满意。
No, and neither can any other version of Delphi. You can use Map2Dgb to turn a detailed map file into a dbg file, though, and you can use that in WinDbg.
I'm curious what debugging features you're expecting to use in Visual Studio that aren't in Delphi 5 and that also don't rely on the IDE understanding the Delphi language. I was always rather pleased with Delphi 5.
顺便说一句,您可以投票支持此功能 此处。
请注意,VS 兼容的调试信息不仅对于调试应用程序有用(我同意:最好使用 Delphi),而且对于使用 Process Explorer 等工具也很有用。例如,Process Explorer 可能能够显示人类可读的调用堆栈,而不是原始数字。
BTW, you can vote for this feature here.
Note, that VS-compatitible debug info will be useful not only for debugging application (I agree: it's better to use Delphi), but it will be useful for using tools like Process Explorer. For example, Process Explorer may be able to show human-readable call stack, instead of RAW numbers.
我尝试过tds2pdb,它对我来说非常有用。
I've tried tds2pdb and it works great for me.
显然你不能。看来 PDB 毕竟是一种没有文档的 Microsoft 专有格式,因此没有其他工具生成它。遗憾。 :(
Apparently you can't. Seems that PDB is after all a propieritary Microsoft format without documentation, and as such there are no other tools generating it. Pity. :(
我建议迁移到 Delphi 的更高版本。我们已经为客户的各种应用程序做到了这一点。迁移到较新版本的 Delphi 通常很简单,但由于组件处理方式的变化(设计时代码与运行时分离),从 D5 迁移到 D6 会出现问题,而且 D2009 中对 Unicode 的更改是一个更大的变化。
主要是整理第三方组件。我们只使用源代码附带的第三方组件,因此,如果发生最坏的情况并且供应商消失,我们仍然可以自己处理这些组件。
哪些组件导致了问题?
I would recommend moving to a later version of Delphi. We have done this with various applications for clients. Moving to a newer version of Delphi is normally straightforward, but there were issues moving from D5 to D6 due to changes in the way components were handled (design time code being separated from run time) and the change to Unicode in D2009 was a bigger change.
The main thing is to sort out the third party components. We only ever use third party components that come with source so if the worst happens and the vendor disappears, we can still work on the components ourselves.
Which components are causing the issues?