私の上司は、私たちのテスター用のJavaクライアントに「ワンボタンメモリリークチェッカー」を書くことができるかどうかを知りたがっています(プロファイラの下で完全な手動テストスイートを実行する時間を短縮する必要があったので、自動化されたテストスイートを持っています)。 私はそれをWindowsのVSでコンパイルするために少し修正しなければならなかった(私はそれがMacの下でGCC用に作られたと思う)。しかし、私はそれを実行すると、JVMがクラッシュします。Javaネイティブエージェントの* native * stack-traceエラー時の取得方法?
私はネイティブのスタックトレースを取得して、少なくともクラッシュする場所を知りたいのですが、何が起こったのかを知ることができれば、idkの方法を知りたいと思います。私は "デバッグ" DLLをビルドしましたが、スタックトレースはまだ得られません。コンソールでも、JVMによって生成された "hs_err_pidXXXX.log"ファイルでもありません。
私は約15年間でC/C++を行っていません。私はまだコードが何をするかを "推測"することができますが、デバッグの仕方は忘れています(printfのどこでも... ...).JVMでネイティブコードをデバッグする必要はありませんでした。これまでのところ、Googleは役に立たなかった。おそらく間違った言葉を使って検索しています。
読む[この](https://jpassing.com/tag/stacktrace-dbghelp/)または[この](のhttp:// WWW。 codeproject.com/Articles/11132/Walking-the-callstack)。しかし、***ヒープ・ダンプ( 'jmap -dump:file =')を取得し、** [HeapAnalyzer](https:// www .com/developerworks/community/groups/service/html/communityview?communityUuid = 4544bafe-c7a2-455f-9d43-eb866ea60091)** –
rustyx
コール・サイト記録のスタック・トレースの割り振りを目的としていない限り、メモリリークの診断に役立ちます。 – the8472
エージェントが働いていれば、それ以上存在してはならないものが参照される場所を教えてくれます。しかし、私の問題は、それ自体が潜在的なメモリリークとは関係ないクラッシュであるということです。 –