在启用调试信息的情况下,无法在发布配置中调试64位应用程序

时间:2015-05-11 15:20:58

标签: delphi 64-bit delphi-xe6

我正在尝试调试发布配置 - 64位Windows平台中的应用程序,但不会遇到任何断点。

我启用了编译器调试信息选项:

enter image description here

可以在 32位版本配置中调试应用程序;断点工作正常。

| Configuration | 32-bit     | 64-bit     |
|---------------|------------|------------|
| Debug         | Debuggable | Debuggable |
| Release       | Debuggable | Fails      |

All with "Debug information" set to "Debug information", 
and full build (Shift+F9) before running.

所以有三个问题:

  • 为什么设置调试信息适用于32位调试器,而不适用于64位dubugger?
  • 为什么64位调试器能够在调试配置中调试应用程序,而不能在发布配置中调试?
  • 我可以更改哪个选项让我在发布配置中调试64位应用程序?

奖金截图

32位版本链接器选项:

enter image description here

64位版本链接器选项:

enter image description here

1 个答案:

答案 0 :(得分:1)

我有一个项目,该项目链接到我自己的6个软件包,并已移至64位。在Win32中,所有调试都很好,但不会在Win64中的断点处停止。

我发现在project \ search路径中需要dcp文件的路径,并且该路径不能是相对的!
它适用于C:\ dcp $(Platform)$(Config)之类的变量,但不适用于.. \ Dcp $(Platform)$(Config)

我相信问题是Win32调试发生在“内部”,但是由于ide并非不是64位调试必须在外部进行(因为必须为64位启用远程调试),因此远程调试器的起始目录也不相同。相对路径将相对于其他位置。

我也启用了地图文件,但认为没有什么不同,因为相对路径无效。

很抱歉回答了一个非常老的问题,但是整整一天生气之后,我只好告诉某人,并且当我忘记了自己是相对路径的粉丝时,我一定会在将来用谷歌搜索这个答案。