c - 使用单声道运行 .NET 二进制文件时出现 SIGSEGV 和单声道崩溃问题

标签 c linux mono

我的 PC 上有 ubuntu 12.04 Linux 和单完整包“Mono JIT 编译器版本 2.10.8.1 (Debian 2.10.8.1-1ubuntu2.2)”。

我将使用单声道运行一个 .NET 二进制文件,并在运行该二进制文件后收到 SIGSEGV 信号,然后单声道将崩溃。

我还在命令提示符下收到了一些 gdb 调试消息,我在下面提到过。

线程 2(线程 0xb28ffb40(LWP 20460)):

 #0  0xb7796424 in __kernel_vsyscall ()
 #1  0xb77329db in read () from /lib/i386-linux-gnu/libpthread.so.0
 #2  0x080e18e7 in read (__nbytes=1024, __buf=0xb2e0867c, __fd=<optimized out>) at /usr/include/i386-linux-gnu/bits/unistd.h:45
 #3  mono_handle_native_sigsegv (signal=11, ctx=0xb2e08bcc) at mini-exceptions.c:2208
 #4  0x081209fc in mono_arch_handle_altstack_exception (sigctx=0xb2e08bcc, fault_addr=0x0, stack_ovf=0) at  exceptions-x86.c:1223
 #5  0x0806094d in mono_sigsegv_signal_handler (_dummy=11, info=0xb2e08b4c, context=0xb2e08bcc) at mini.c:5909
 #6  <signal handler called>
 #7  0xb48881dc in ?? ()
 #8  0xb2bcba6b in bulk_interrupt_read_thread (arguments=0xb4888108) at testusb.c:1596
 #9  0xb772bd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
 #10 0xb766adde in clone () from /lib/i386-linux-gnu/libc.so.6 

线程 1(线程 0xb757a700(LWP 20449)):

 #0  0xb7796424 in __kernel_vsyscall ()
 #1  0xb765c690 in poll () from /lib/i386-linux-gnu/libc.so.6
 #2  0xb2c2c984 in ?? ()
 #3  0xb2c2bdb0 in ?? ()
 #4  0xb2c2e2d4 in ?? ()
 #5  0xb2c4e770 in ?? ()
 #6  0xb2c4b86c in ?? ()
 #7  0xb2c4b527 in ?? ()
 #8  0xb2e14518 in ?? ()
 #9  0xb2e139a8 in ?? ()
 #10 0xb2e13648 in ?? ()
 #11 0xb58e3f84 in ?? ()
 #12 0xb58e403e in ?? ()
 #13 0x08064c2c in mono_jit_runtime_invoke (method="GTechUtility.Program:Main ()", obj=0x0, params=0xbfab491c, exc=0x0) at mini.c:5791
 #14 0x081a422f in mono_runtime_invoke (method="GTechUtility.Program:Main ()", obj=0x0, params=0xbfab491c, exc=0x0) at object.c:2755
 #15 0x081a7025 in mono_runtime_exec_main (method="GTechUtility.Program:Main ()", args=0x3be00, exc=0x0) at object.c:3938
 #16 0x080bb80b in main_thread_handler (user_data=<synthetic pointer>) at driver.c:1003
 #17 mono_main (argc=2, argv=0xbfab4ae4) at driver.c:1855
 #18 0x0805998f in mono_main_with_options (argv=0xbfab4ae4, argc=2) at main.c:66
 #19 main (argc=2, argv=0xbfab4ae4) at main.c:97

============================================= ==================
执行 native 代码时收到 SIGSEGV。
这通常表示单声道运行时或您使用的 native 库之一中存在 fatal error 应用。 ================================================ ===============

中止(核心转储)

如果有人对此问题有任何想法,请告诉我。

最佳答案

试试这个:禁用越来越多的您自己的/应用程序代码,直到错误消失。然后以更小的步骤进行优化,以查看代码的哪一部分/哪行导致了此问题。

如果最终完全没有自己的/应用程序代码,请使用您正在使用的库的配置、版本、编译器选项。

对不起,我不能给你一个详细的答案,但我是 HTH。祝你好运!

关于c - 使用单声道运行 .NET 二进制文件时出现 SIGSEGV 和单声道崩溃问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18436617/

相关文章:

c++ - 使用数组地址获取尾后指针

c - 函数参数

C 错误 : storage size isn't known

c - 按 home 或 end 时从 getchar 获取大写字母 O

监视文件夹内文件更改的 linux 脚本(就像 autospec 一样!)

mono - Mono上的独立异步Web API

mono - 如何在 Mono 2.10.8 上成功托管 ASP.NET MVC4 RC

c - 交叉编译问题

asp.net-mvc - ASP.NET OmniSharp 服务器未在 Ubuntu Mono 上运行

c++ - C 中的 execv 调用