我在OSX上使用Mono 3.2.7。我希望我的程序能够为诊断导出触发线程转储。
[DllImport("libmono", EntryPoint = "_mono_threads_request_thread_dump")]
public static extern void MonoThreadsRequestThreadDump();
调用它时,没有任何内容写入stdout。
删除前导下划线会导致Mono中出现本机异常。
我做错了什么或者什么是实现目标的更好方法?
答案 0 :(得分:1)
使用[DllImport("__Internal")]
代替libmono。调用此方法有效,但是在刷新标准输出时仍然有问题。
更简单的方法是发送SIGQUIT信号,它将“全线程转储”写入stdout。