-1

私は Gtk プログラミングの初心者です。Windows で VS2010 によるデモをコーディングし、Windows 7 x64 でスムーズに実行していますが、Linux で実行しようとすると問題が発生しました。 :

lucid@lucid-desktop:~/Desktop/Debug$ mono NetLockAlert.EmbeddedUI.exe
mono: ../../src/xcb_io.c:249: process_responses: Assertion `(((long) (dpy-          >last_request_read) - (long) (dpy->request)) <= 0)' failed.
Stacktrace:

  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff>
  at Gtk.Application.Run () <0x0000b>
  at LionvilleSystems.NetLockAlert.EmbeddedUI.MainClass.Main (string[]) <0x00047>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object     (object,intptr,intptr,intptr) <0xffffffff>

  Native stacktrace:

mono() [0x80e0124]
[0x9e1410]
/lib/tls/i686/cmov/libc.so.6(abort+0x182) [0x13da82]
/lib/tls/i686/cmov/libc.so.6(__assert_fail+0xf8) [0x133718]
/usr/lib/libX11.so.6(+0x41a8d) [0x305a8d]
/usr/lib/libX11.so.6(_XEventsQueued+0x56) [0x306356]
/usr/lib/libX11.so.6(XPending+0x68) [0x2eea68]
/usr/lib/libgdk-x11-2.0.so.0(+0x53909) [0xb3e909]
/lib/libglib-2.0.so.0(g_main_context_check+0x2c9) [0xda7799]
/lib/libglib-2.0.so.0(+0x3f0ce) [0xda80ce]
/lib/libglib-2.0.so.0(g_main_loop_run+0x187) [0xda8817]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb9) [0x110e3d9]
[0xa375b0]
[0xa37574]
[0x28bd30]
[0x28bddf]
mono() [0x8062cf8]
mono(mono_runtime_invoke+0x40) [0x8144ad0]
mono(mono_runtime_exec_main+0xd6) [0x81487b6]
mono(mono_main+0x1845) [0x80bb445]
mono() [0x805944a]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0x126bd6]
mono() [0x8059291]

 Debug info from gdb:

  mono: ../../src/xcb_io.c:249: process_responses: Assertion `(((long) (dpy-   >last_request_read) - (long) (dpy->request)) <= 0)' failed.
Aborted
lucid@lucid-desktop:~/Desktop/Debug$ ptrace: No such process.

-------------------------- エラー ------------------------ ------------------------------

4

1 に答える 1

0

このエラーだけではわかりにくい: 一貫性があるか? 起動時またはそれ以降に毎回発生しますか?

最も可能性の高い原因は、複数のスレッドから GUI を呼び出していることです。これは許可されていません。メインループ スレッドに参加していない場合は、Gtk.Application.Invoke() などを使用する必要があります。サンプルはhttp://www.mono-project.com/Responsive_Applicationsのページにあります。

于 2012-08-14T09:11:02.410 に答える