1

我的 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

==================================================== ===============
在执行本机代码时获得了 SIGSEGV。
这通常表示单声道运行时或您的应用程序使用的本机库之一中存在致命错误。==================================================== ================

中止(核心转储)

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

4

1 回答 1

0

试试这个:禁用越来越多的您自己的/应用程序代码,直到错误消失。然后用更小的步骤细化,看看你的代码的哪一部分/哪一行导致了这种情况。

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

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

于 2013-08-26T06:24:32.240 回答