【发布时间】:2011-06-28 10:29:18
【问题描述】:
我最近在this question 上发布了关于我无法让 Delphi 2010 与远程调试一起工作的帖子。我没有取得任何成功,并决定发布一个简单的分步测试技术,可能会突出我做错了什么。这对我来说真的很重要——我从 V1.0 开始就使用 Delphi 并以此为生。像这样被卡住是一种痛苦,它让我一直在使用 Delphi 7。
不管怎样,来吧。
确保 Delphi 2010 有更新 4 和 5。
启动 Delphi 2010,然后启动 File |新 | VCL 表单应用程序。在表单上放置一个按钮,将 'ShowMessage( 'hello' ) 放在按钮 OnClick 事件中。将项目及其单元保存在本地文件夹“C:\scratch”中。构建项目,运行,点击按钮,出现'hello',一切正常。
在联网的 PC (194.168.1.64) 上,创建一个新文件夹“c:\DebugTest”并以 R/W 访问权限共享它。
在 194.168.1.64 上从 Embarcadero 网站 (RemoteDebugger_upd2.exe) 上的最新下载安装远程调试器。点击rmtdbg140.exe运行。接受来自防火墙的“取消阻止”消息。
使用 Output directory=\192.168.1.64\DebugTest 和单元输出目录 = c:\scratch 编辑 DEBUG 构建配置编译器设置 - 请参阅
编辑链接设置以设置调试信息=True,包括远程调试符号=True。见
将编译设置保留为默认值。见
进行完整构建。相关项目 exe 'project2.exe' 和 'project2.rsm' 出现在远程文件夹 \192.168.1.64\DebugTest 中。在 IDE 的 Unit2 中可以看到蓝点。
在“ShowMessage”行(按钮 OnClick 事件)上设置断点。
使用“运行”|远程路径=c:\DebugTest\Project2.exe、远程主机=192.168.1.64 和工作目录=c:\DebugTest 的“加载进程”参见
单击“加载”。可见断点立即被禁用,项目开始运行并打开 CPU 窗口并停止。按 f9 会导致 exe 在远程计算机上完全运行,按钮有效,您无法调试它。
我尝试了各种“明显”的方法,例如关闭防火墙,但都无济于事。哪位好心人可以提出进一步的想法吗?
非常感谢。
【问题讨论】:
-
我也被 Delphi 2007 Remote Debugger 困住了。 stackoverflow.com/questions/4893722/…
-
我很确定我已经用 D2010 做到了这一点。我的工作方式与 #9 不同:我通过在 Windows 资源管理器(在远程计算机上)中双击它来启动被调试者。然后我走到我的开发计算机并附加到该过程。然后我设置断点并按 F9 以便被调试者继续运行。
-
IIRC 您应该在此设置的“远程”对话框的“远程路径”和“工作目录”字段中使用
\\192.168.1.64\DebugTest。 -
我们在 D2010 远程调试方面拥有完全相同的体验。使用 D2009 远程调试工作正常,但我们还没有找到让 D2010 正常运行的方法。
-
@大家:我们认为XE更愿意和有能力吗?如果是的话,我的支票簿已经准备好了。
标签: delphi delphi-2010 breakpoints remote-debugging