2011-02-16 71 views
10

我最近发布this question约我无法得到德尔福2010年远程调试工作。我还没有取得任何成功,并决定发布一个简单的逐步测试技术,可能会突出我做错了什么。这对我来说真的很重要 - 我从V1.0开始使用Delphi,并通过它赚取收入。被卡住一样,这是一个痛苦和它让我对德尔福7德尔福2010远程调试 - 无法获得断点工作

无论如何,在这里去。

  1. 确保德尔福2010具有更新4 & 5.

  2. 火了德尔福2010年,然后单击文件|新增| VCL表格应用程序。在表单上放置一个按钮,在按钮OnClick事件中放置'ShowMessage('hello')。将项目及其单元保存在本地文件夹“C:\ scratch”中。建立项目,运行它,点击按钮,'hello'出现,一切正常。

  3. 在联网的PC(194.168.1.64)上,创建一个新文件夹“c:\ DebugTest”并与R/W访问共享。

  4. 在194.168.1.64安装从Embarcadero的网站(RemoteDebugger_upd2.exe)最新下载的远程调试器。 CLick rmtdbg140.exe运行。接受来自防火墙的'un-block'消息。

  5. 编辑与输出目录= \ 192.168.1.64 \的DebugTest和单元输出目录= c中的调试生成配置编译器设置:\刮 - 见 Compiler settings

  6. 编辑链接设置来设置调试信息=真,包含远程调试符号= True。见Linking settings

  7. 离开在默认编译设置。见Compiling settings

  8. 做一个完整的构建。相关项目exe'project2.exe'和'project2.rsm'出现在远程文件夹\ 192.168.1.64 \ DebugTest中。 IDE中的Unit2中可见蓝点。

  9. 集上的 'ShowMessage' 线断点(按钮OnClick事件)。

  10. 使用 '运行' | '加载过程' 与远程路径= C:\的DebugTest \ Project2.exe,远程主机= 192.168.1.64和工作目录= C:\的DebugTest看到Load Process remote tab

  11. 点击 '加载'。立即禁用可视断点,项目开始运行并打开CPU窗口并停止。按f9导致exe在远程机器上完全运行,该按钮可以工作,您无法调试它。

我试过各种'明显'的东西,像防火墙关闭,但都无济于事。有人会提出进一步的想法吗?

非常感谢。

+3

我被Delphi 2007 Remote Debugger卡住了。 http://stackoverflow.com/questions/4893722/delphi-remote-debugger-freezing-up – 2011-02-16 15:36:01

+0

我很确定我已经用D2010完成了这项工作。我的工作方式与#9不同:我通过在Windows资源管理器(在远程计算机上)中双击它来启动恶人。然后,我走到我的开发计算机并附加到该过程。然后我设置断点并按下F9,这样恶人继续运行。 – Giel 2011-02-16 15:53:01

+0

IIRC您应该使用此设置的“远程”对话框的“远程路径”和“工作目录”字段中的'\\ 192.168.1.64 \ DebugTest`。 – 2011-02-16 16:37:50

回答

5

那么,对我来说,现在这个问题已经解决了,虽然作为一个'解决'和经过与Embarcadero的重大互动和升级到XE(这也没有工作)。

这样看来,远程调试器在其加载RSM(远程符号)文件的能力片状(或可能只是挑剔) - 他们仍在寻找到为什么我的不会加载。我的rsm文件大约在50Mb左右,虽然这对Delphi 7的远程调试器来说没有问题。

周围的工作涉及升级到德尔福XE,然后选择编译器链接选项“将调试信息在不同的TDS文件”。这似乎在远程目标上创建了一个tds文件,而不是一个rsm文件,并且断点工作正常。

我已提交RSM和TDS文件Embarcadero公司进行调查,为什么发生这种情况。

0

我有这个问题。为Delphi 2010安装Update 4解决了我的问题。它也列在更新4

0

这是必须有远程系统上正确的时区和时钟的固定问题列表。在我的情况下,我设置了远程调试,当我加载过程中,断点变为绿色。我检查了远程系统时区和时钟,将其设置正确,远程dubugger再次工作。