ToDo:
今日もらったバグレポをエアデバッグしてて、あーこういうことだなってアタリがついた事例
(gdb) p main $1 = {int ()} 0x400596 <main>
つまりシンボルのある綺麗なバイナリです
(gdb) r Starting program: /ssd/test/a.out Program terminated with signal SIGABRT, Aborted. The program no longer exists. (gdb) bt No stack.
abort してるのに "The program no longer exists." ヘンすぎるやろ。というわけで以下のコードがこういう挙動を起こすことに気付いた。なるほどねー
$ cat vfork_fail.c #include <stdlib.h> #include <unistd.h> int main() { if (vfork()) sleep(1); else abort(); }
(20:33)
前 | 2016年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。