问题标签 [soft-debugger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
262 浏览

mono - 在运行时触发单声道软调试器

--debug --debugger-agent=transport=dt_socket,address=host:port在启动应用程序时,我已经可以使用软调试器作为命令行选项(稍后在运行时使用特定的 monodevelop 软调试器。

查看Mono.Debugger.Soft API,我认为这是可能的,有什么例子吗?

0 投票
1 回答
165 浏览

ios - 为什么 MonoTouch 调试器会在一段时间后断开连接?

当我在 iPad 上调试应用程序时,通常会在一段时间后返回它时,调试会话已经停止,但应用程序仍在运行。

这非常令人沮丧,因为我专门UIWebView在应用程序中加入了一些调试工具,比如在滑动时重新加载外部内容,这样我每次更改时都不必重新编译它。

我查看了设置,并没有发现像“调试超时”这样的东西。怎么了?

0 投票
1 回答
355 浏览

debugging - Mono Soft Debugger - 添加断点

我目前正在为 Mono 开发调试器。因此,我正在使用具有 VirtualMachineManager 和 VirtualMachine 的 Mono.Debugger.Soft.dll。

问题是:如果我想在一个简单的程序中创建一个断点,我该怎么做?(例如 Sourceodefile:Program.cs 和 Line:17)

VirtualMachine的Instance有一个SetBreakpoint-Method,但是这个Method需要一个MethodMirror。我不清楚如何通过只知道源代码文件中的位置来获得它?

迎接克里斯蒂安

0 投票
1 回答
839 浏览

debugging - Xamarin Studio 是否允许以比这更简单的方式调试库 (dll) 项目?

我正在开发一个名为 的 C# dll,child.dll它将由另一个名为parent.exe. 我无权访问parent.exe.

在 Visual Studio 上,当我想调试我的 dll 项目时,我只需要将调试器附加到parent.exe可以了。我找不到在 Xamarin Studio 上执行此操作的简单方法。

我现在正在做的是:

  1. 设置 env varMONODEVELOP_SDB_TEST=1以启用“自定义命令单声道软调试器”
  2. 使用与第一步相同的终端启动 Xamarin Studio。
  3. 在 Xamarin Studio 选项 -> 调试器中取消选中“仅调试项目代码;不要单步执行框架代码”
  4. 在我的child.dll. 这是因为 Xamarin Studio 不允许库项目类型的“运行方式”。通过这样做,我现在可以访问 Xamarin Studio 的“运行方式”功能。
  5. 构建整个解决方案,复制child.dllparent.exe想要的位置并运行mono --debug --debugger-agent=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:55555 parent.exe parent-args。(Parent.exe将加载child.dll
  6. 将虚拟项目设置为启动项目
  7. 使用 > Custom Command Mono Soft Debugger 运行并连接到 127.0.0.1:55555

我正在寻找一种方法让我公司中的其他开发人员能够child.dllparent.exe. 我认为唯一不可接受的步骤是第四步,这对他们没有任何意义。

有人遇到和我一样的问题吗?你是如何实现目标的?

更新信息

我过度简化了这个问题。在实际场景中,我自己没有管理 parent.exe。parent.exe已经运行(使用这个确切的命令mono --debug --debugger-agent=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:55555 parent.exe parent-args),它由另一个程序启动(Process.Start)作为整个框架的一部分。

基本上,创建 child.dll 的开发人员的工作流程是创建一个定义框架需要的一些 API 的 dll。然后,将 dll 注入框架。