Delphi 5可以生成VS可以使用的.PDB文件吗?

Vil*_*lx- 12 delphi delphi-5 visual-studio pdb-files

我们已经用Delphi 5编写了这个大型应用程序,直到今天仍在进行开发.有关于迁移到更新版本的研究正在进行中,但到目前为止还没有成功,因为一些第三方组件尚未更新,并且不适用于更高版本.

与此同时,人们需要继续努力.现在Delphi 5 IDE并不是真正的享受.它非常错误,并且缺乏当代IDE的许多功能,这使得它很难使用.特别是在调试方面.

所以我想知道 - 在这个过程中可以使用Visual Studio吗?据我所知,.PDB文件格式非常陈旧,并且有很好的文档记录.是否有可能使Delphi编译器以某种方式为其编译结果生成.PDB文件?然后可以使用Visual Studio调试程序,可能比原始IDE更大.

好吧,绝对的圣杯将把所有的开发都转移到VS,只是让编译器不受Delphi的影响,但我想这将是非常不可能的.

Rob*_*edy 12

不,任何其他版本的Delphi都不能.但是,您可以使用Map2Dgb详细的映射文件转换为dbg文件,并且可以在WinDbg中使用它.

我很好奇你期望在Visual Studio中使用哪些调试功能,这些功能不在Delphi 5中,也不依赖于IDE理解Delphi语言.我对Delphi 5总是很满意.

  • Delphi的调试器无法加载minidump,可以吗?Minidumps非常有用.您的流程在客户的计算机上崩溃,冻结或行为不当?获取一个minidump,加载它,你就像调试那个进程一样在调试器中.(当然,除了检查调用堆栈和变量之外,您无法执行任何操作.) (3认同)
  • @Rob:这正是重点,对吗?Borland/Codegear/Embarcadero编译器都不能生成PDB符号,因此Minidumps几乎无用,例如,阻止任何用户以合理的方式使用WinQual. (3认同)
  • 调试器中的检​​查器功能通常不显示不同对象的值(特别是在COM世界中).有时结果令人难以置信,并且根本没有描述现实中发生的事情.我还应该注意到这个项目既庞大又凌乱,就像15岁那样.有......生活在那里的东西...... 编译器挣扎. (2认同)

Ale*_*lex 5

顺便说一下,你可以在这里投票赞成这个功能.

注意,VS-compatitible调试信息不​​仅对调试应用程序有用(我同意:最好使用Delphi),但它对于使用Process Explorer等工具很有用.例如,Process Explorer可能能够显示人类可读的调用堆栈,而不是RAW编号.


Zac*_*Saw 5

我试过tds2pdb,它对我很有用.