Debugging Xamarin Studio是否允许以比这更简单的方式调试库(dll)项目?
我正在开发一个名为Debugging Xamarin Studio是否允许以比这更简单的方式调试库(dll)项目?,debugging,xamarin,monodevelop,xamarin-studio,soft-debugger,Debugging,Xamarin,Monodevelop,Xamarin Studio,Soft Debugger,我正在开发一个名为child.dll的C#dll,它将由另一个名为parent.exe的第三方C#可执行程序加载。我无权访问parent.exe的源代码 在VisualStudio上,当我想调试dll项目时,我只需将调试器附加到父.exe上即可。我在Xamarin Studio上找不到一个简单的方法来实现这一点 我现在正在做的是: 设置env varMONODEVELOP\u SDB\u TEST=1以启用“自定义命令Mono软调试器” 使用与第一步相同的终端启动Xamarin Studio 在
child.dll
的C#dll,它将由另一个名为parent.exe
的第三方C#可执行程序加载。我无权访问parent.exe
的源代码
在VisualStudio上,当我想调试dll项目时,我只需将调试器附加到父.exe上即可。我在Xamarin Studio上找不到一个简单的方法来实现这一点
我现在正在做的是:
MONODEVELOP\u SDB\u TEST=1
以启用“自定义命令Mono软调试器”child.dll的相同解决方案中添加一个伪exe项目。这是因为Xamarin Studio不允许对库项目类型使用“Run with”。通过这样做,我现在可以访问Xamarin Studio的“运行方式”功能
child.dll
复制到parent.exe
所需的位置,然后运行mono--debug--debugger agent=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:5555555 parent.exe parent args
。(Parent.exe
将加载child.dll
)parent.exe
下创建和调试自己的child.dll
。我认为唯一不可接受的步骤是第四步,这对他们来说毫无意义
有人和我面临同样的问题吗?你是如何实现你的目标的
更新信息
我把问题过分简化了。在真实场景中,我自己没有管理parent.exeparent.exe
已经在运行(使用此确切命令mono--debug--debugger agent=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:5555555 parent.exe parent args
),它是由另一个程序作为整个框架的一部分启动的(Process.Start)
基本上,创建child.dll的开发人员的工作流程是创建定义框架所需的某些API的dll。然后,将dll注入框架。右键单击库项目,然后单击项目选项->运行->自定义命令。在组合框中,选择执行并输入parent.exe的路径。现在您可以“运行”库了,调试器将在您输入库代码的断点处停止。Ah。。我把问题过分简化了。我不能这样做,因为实际上我自己没有运行parent.exe,parent.exe是由另一个程序作为整个框架的一部分启动的(Process.Start)。基本上,创建child.dll的开发人员的工作流程是创建定义框架所需的某些API的dll。然后,将dll注入框架。我会相应地更新这个问题。我刚刚发现,我甚至不必输入parent.exe路径,我可以把任何东西都放在Xamarin Studio上!它不会运行我“使用>自定义命令Mono Soft Debugger”运行时放在那里的内容。