我无法在 Monodevelop 中使用正常调试,因此我尝试按照此处所述进行远程调试。
这是整个过程:
在终端中,键入:
export MONODEVELOP_SDB_TEST="YES"
monodevelop &
Monodevelop 开始。
- 打开您的解决方案
Run -> Run With -> Custom Command Mono Soft Debugger
- 填写字段:
- 命令:
/home/nico/src/CmisSync/bin/SparkleShare.exe
- 参数:(
-debug --debugger-agent=transport=dt_socket,address=127.0.0.1:10000
不确定是否需要) - 知识产权:
127.0.0.1
- 港口:
10000
- 输出:
1
- 命令:
- 按
Listen
- 返回终端,按:
mono --debug --debugger-agent=transport=dt_socket,address=127.0.0.1:10000 ./bin/SparkleShare.exe
问题: Monodevelop 在第 4 步崩溃,一旦我按下Listen
:
System.InvalidOperationException: Standard output has not been redirected
at System.Diagnostics.Process.get_StandardOutput () [0x00043] in /build/buildd/mono-2.10.8.1/mcs/class/System/System.Diagnostics/Process.cs:663
at MonoDevelop.Core.Execution.ProcessWrapper.CaptureOutput () [0x00000] in <filename unknown>:0
at System.Threading.Thread.StartInternal () [0x00016] in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System.Threading/Thread.cs:703
当我按下Connect
而不是Listen
.
也许我输入了错误的值Output
?源代码显示需要一个整数值。
Monodevelop 的这一部分是非常实验性的(他们不打算实现异常处理),因此在这种情况下向他们发送错误报告不会有成效......我很确定我只是误解了一些东西。