2

Linux でクラッシュする (Windows では正常に動作する) プログラムを使用していますが、その理由がわかりません。&"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for devide\n"デバッガーを起動すると、非常に奇妙なエラーが発生しました。

インターネットで見つけた情報は、それが出力に関係していると思いました。

関連するファイルはでクラッシュしlign 0、この関数のみが含まれています:

void Sync_Print::stdOutFormat (const char* format, ...) {
    va_list args;
    va_start(args, format);
    Locker Protect (Synchro);
    ::vprintf(format, args);
    va_end(args);
}

Sync_Print実装するクラスの名前static void stdOutFormat(const char* format, ...);ですstatic Mutex Synchro;

QtCreator の私のデバッガーでは、プログラムが lign 0 という名前のファイルでクラッシュしたと表示されます/lib/ld-linux.so.2。プログラムはすぐにstdクラッシュします。

私はここでちょっと迷っています...もっと多くのコードを与えることが正確かどうかはわかりません。精度が必要な場合は、喜んで提供します...

QtCreatorとGCC 4.7.2を使用して、Linux Ubuntu 12.04を使用しています。Qt4を使用しています。

4

0 に答える 0