C# 从暂停的Xamarin.Mac应用程序转储堆栈跟踪
我有一个Xamarin.Mac应用程序,它有时会停止运行。日志并不是真正有用的,因为它挂起在其生命周期的不同点上,并且场景很难重现 在Windows上,我们在系统中内置了堆栈转储功能—从Process Explorer中查找进程,然后逐线程检查它们的调用堆栈 对于Xamarin.Mac应用程序是否有类似的工具,以便下次应用程序挂起时,我可以获取其线程的调用堆栈,以尝试确定根问题C# 从暂停的Xamarin.Mac应用程序转储堆栈跟踪,c#,.net,macos,mono,xamarin.mac,C#,.net,Macos,Mono,Xamarin.mac,我有一个Xamarin.Mac应用程序,它有时会停止运行。日志并不是真正有用的,因为它挂起在其生命周期的不同点上,并且场景很难重现 在Windows上,我们在系统中内置了堆栈转储功能—从Process Explorer中查找进程,然后逐线程检查它们的调用堆栈 对于Xamarin.Mac应用程序是否有类似的工具,以便下次应用程序挂起时,我可以获取其线程的调用堆栈,以尝试确定根问题 谢谢 使用macOs,您可以使用活动监视器执行示例过程或自旋转储。。。还有相当多的命令行工具可用。。。至于Mono,您
谢谢 使用macOs,您可以使用活动监视器执行
示例过程
或自旋转储
。。。还有相当多的命令行工具可用。。。至于Mono,您可以将所有线程的堆栈跟踪转储到stdout:或者使用GDB转储到托管堆栈,等等。。。。Google/Bing是您在这里的朋友,macOS和Mono方面都有大量可用资源。示例进程和Spindump显示运行时的本机跟踪,这些都不是真正有用的,因为我需要查看托管代码跟踪。您链接的SO线程也不起作用,当应用程序停止运行时,进程不会通过stderr打印任何内容(尽管在未停止运行时它会打印!)使用macOs,您可以使用活动监视器执行示例进程
或自旋转储
。。。还有相当多的命令行工具可用。。。至于Mono,您可以将所有线程的堆栈跟踪转储到stdout:或者使用GDB转储到托管堆栈,等等。。。。Google/Bing是您在这里的朋友,macOS和Mono方面都有大量可用资源。示例进程和Spindump显示运行时的本机跟踪,这些都不是真正有用的,因为我需要查看托管代码跟踪。您链接的SO线程也不起作用,当应用程序停止运行时,该进程不会通过stderr打印任何内容(尽管当应用程序未停止运行时它会打印!)