私がこれを正しく理解していれば、エラーが発生したときに、Luaはデフォルトでデバッグライブラリを「debug.traceback」と呼びます。
ただし、次の例のようにLuaをCコードに埋め込む場合: 単純なLuaAPIの例
スタックの一番上にあるエラーメッセージのみを利用できます。
すなわち
if (status) {
/* If something went wrong, error message is at the top of */
/* the stack */
fprintf(stderr, "Couldn't load file: %s\n", lua_tostring(L, -1));
/* I want to print a stacktrace here. How do I do that? */
exit(1);
}
初期エラーの後にCからスタックトレースを出力するにはどうすればよいですか?