如何从嵌入式Mono中获取堆栈跟踪中的文件名和行号?

时间:2011-09-27 21:11:39

标签: c mono embed

我正在将Mono嵌入到C应用程序中,它工作正常,但调试比应该更难,因为当我在Mono代码中打印堆栈跟踪时(例如,响应异常)所有堆栈跟踪的行说它们位于“:0”。我想在Mono堆栈跟踪中正确显示文件名和行号。

我正在用xbuild构建应用程序的Mono组件,而我正在使用调试版本。正在生成mdb文件,我将它们放在与我正在加载的Mono程序集相同的目录中。当我在C端初始化Mono域时,我尝试调用mono_debug_init(MONO_DEBUG_FORMAT_MONO),并使用mono_debug_domain_create()注册域,但它似乎没有任何效果。有没有人得到这个工作?

1 个答案:

答案 0 :(得分:1)

您是否需要c程序或单声道程序的堆栈跟踪?

对于C:如果你使用gcc,你启用了调试信息'-g'。 您应该检查您的编译器 LINE FILE 是否定义 与您当前的编译器兼容。

对于Mono:您是否使用调试标志进行编译'-debug'。

希望这有帮助

/托尼