这个功能是用于在C#那边用halcon引擎执行程序时的交互性调试用的。
下面的主机与端口是指的C#那边的主机与端口。
你必须在C#这边用下面这句
MyEngine.StartDebugServer(); 开启调试服务器。
这个调试服务器默认的地址是:?localhost? 端口是:57786
勇哥感觉指定网络中另一台机器做为服务器也应该是可以的。
C#
private void Form1_Load(object sender, EventArgs e)
{
var halconExamples = HSystem.GetSystem("example_dir");
var ProcedurePath = halconExamples + @"\hdevengine\procedures";
ProgramPathString = halconExamples + @"\hdevengine\hdevelop\fin_detection.hdev";
MyEngine.SetProcedurePath(ProcedurePath);
MyEngine.StartDebugServer();
Window = hWindowControl1.HalconWindow;
Window.SetDraw("margin");
Window.SetLineWidth(4);
}
然后你就可以在C#那边用halcon引擎把程序跑起来。
这时候你会看到halcon这边会显示当前引擎跑的程序代码。(灰底显示)
然后你可以下断点。
然后F6键可以单步, 可以正常查看图标变量内容。
下面是C#那边结束调试后halcon这边的报告。
详细请看勇哥在B站录制的视频:
halcon附加到进程(C#用halcon引擎执行程序时做为交互调试)_哔哩哔哩_bilibili
打断点调试,似乎只能在子函数中才可以,不知道有没有是不是我的操作有问题。
|