从嵌入式Mono中获取堆栈跟踪中的文件名和行号的方法是什么?

3
我正在将Mono嵌入到C应用程序中,一切正常,但调试比应该更加困难,因为当我在Mono代码中打印堆栈跟踪时(例如响应异常),所有堆栈跟踪的行都说它们位于“:0”处。 我想要在Mono堆栈跟踪中正确显示文件名和行号。
我使用xbuild构建应用程序的Mono组件,并且我正在使用调试版本。 mdb文件已生成,并且我已将它们放置在加载的Mono程序集相同的目录中。 当我在C端初始化Mono域时,我尝试调用mono_debug_init(MONO_DEBUG_FORMAT_MONO),并使用mono_debug_domain_create()注册域,但似乎没有任何影响。有人成功实现了吗?
1个回答

1
你的 C 程序或 Mono 程序需要堆栈跟踪吗?
对于 C:如果你使用的是 gcc,请启用调试信息“-g”。 你应该检查编译器的LINEFILE定义是否与当前编译器兼容。
对于 Mono:你是否使用设置了调试标志“-debug”进行编译。
希望这可以帮助你。
/Tony

我需要它们用于Mono代码。我会编辑问题以澄清。 - swift
我真正想要的是从已经成功实现此功能的人那里得到指导。我尝试了从man页面、mono --help、浏览mono实用程序的源代码等方面获取的所有信息,但明显没有起作用的。 - swift

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接