0

我正在运行一些.NET .dlls on Windows Server 2012。程序集是从代码.NET编译而来的。(是的,我知道奇怪的设置——但我是一名游戏开发人员)一般来说它们运行良好,但在检查信息时,它并不是那么好。我试图从一个对象中提取信息,但它都是空的。我还尝试将文件与s 一起复制,并确保我正在构建,并带有调试符号。例如这段代码C#OS XXamarin 4.0ExceptionException.mdb.dllDebug

log.Error (ex.ToString ());
var st = new StackTrace(ex, true);
var frame = st.GetFrame(0);
var line = frame.GetFileLineNumber();
log.ErrorFormat ("st: {0}, frame: {1}, line: {2}", st.ToString (), frame.ToString (), line);

生成这样的输出,只是方法名,基本上

System.NullReferenceException: Object reference not set to an instance of an object.
at Mindlube.CD3.RandomMatchMaker.ProcessMatchQueue() [ThreadFiber-1] ERROR Mindlube.CD3.App [(null)] - st:    
at Mindlube.CD3.RandomMatchMaker.ProcessMatchQueue(), frame: ProcessMatchQueue 
at offset 927 in file:line:column <filename unknown>:0:0, line: 0

有什么建议可以获取更详细的Exception信息吗?在 Windows 上使用Visual Studio目前不是一个选项,因为我没有时间重新装备我的整个开发环境。所以不要说'使用 VStudio' :)

4

1 回答 1

2

这是因为 .NET 不理解 mdb 文件。

不幸的是,没有将 mdb 文件转换为 pdb 文件的工具,您唯一的选择是编写自己的或在 Windows 机器上使用 Mono 执行您的应用程序。

于 2013-10-08T21:30:48.063 回答