日記というもの
を書いてみようと思いました。
日々ハマったこととか学んだことを書いていこうと思います。
なにより、自分の過去の mixi の日記読んだらわりかし面白かったので・・・
今日はまったのは JNI 。
厳密に言うと、JNI で使用している c。
とりあえず core dump します。
core 解析したら core 吐いている場所はわかったけど、原因がさぱーりわかりません。
こんな感じ。
#define function1(ARGS1, MSG_FMT, ...) \ ( \ function2(ARGS1, MSG_FMT, __LINE__, __VA_ARGS__); \ )
と、ヘッダで定義し、
funcion1(arg1, "hogemoge", "");
と呼びだすと、function2 の中で core dump する。
しかも core dump している場所が、引数の NULL チェックをしているところ…
謎すぎる。ちなみに gdb を使って core 解析をしました。
JNI を使っているからなのか、どうなのかが良くわかりません。