日記というもの

を書いてみようと思いました。

日々ハマったこととか学んだことを書いていこうと思います。
なにより、自分の過去の 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 を使っているからなのか、どうなのかが良くわかりません。