FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

jmap エラーメモ

jmap のエラーメモ

■前提:JavaプロセスのPID

C:\>jps
1320 Jps
7408 TestMain
6140



■正しく指定した場合

C:\>jmap -histo -F 7408
Attaching to process ID 7408, please wait...
Debugger attached successfully.
Client compiler detected.
JVM version is 24.45-b08
Iterating over heap. This may take a while...
Object Histogram:

num #instances #bytes Class description
--------------------------------------------------------------------------
1: 8208 780096 * ConstMethodKlass
2: 8208 594384 * MethodKlass
3: 599 343480 * ConstantPoolKlass
・・・以下略



■オプションの位置が不正
PIDの後に -F を書いている。
jmap -histo -F 7408 が正しい。


C:\>jmap -histo 7408 -F
Attaching to core -F from executable 6140, please wait...
Error attaching to core file: Windbg Error: OpenDumpFile failed!



参考:Linuxで実行したときは一番下のメッセージが下記だった。
Error attaching to core file: Can't attach to the core file


■存在しないPIDを指定

C:\>jmap -histo -F 1000
Attaching to process ID 1000, please wait...
Error attaching to process: Windbg Error: WaitForEvent failed!



■対象がJavaのプログラムではない


C:\>jmap -histo -F 8000
Attaching to process ID 8000, please wait...
sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "gHotSpotVMTypes" in any of the known library names (jvm.dll, jvm_g.dll)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupInProcess(HotSpotTypeDataBase.java:585)
at sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:150)
at sun.jvm.hotspot.HotSpotTypeDataBase.(HotSpotTypeDataBase.java:85)
at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:566)
at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:493)
at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:331)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:163)
at sun.jvm.hotspot.tools.ObjectHistogram.main(ObjectHistogram.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.tools.jmap.JMap.runTool(JMap.java:197)
at sun.tools.jmap.JMap.main(JMap.java:128)
Debugger attached successfully.
sun.jvm.hotspot.tools.ObjectHistogram requires a java VM process/core!




■Eclipseを対象にしてみたら、エラーになった。
原因は調べてないが、java.exeやjavaw.exeで実行してないから?

C:\>jmap -histo -F 6140
Attaching to process ID 6140, please wait...
Debugger attached successfully.
Client compiler detected.
JVM version is 24.45-b08
Iterating over heap. This may take a while...
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.tools.jmap.JMap.runTool(JMap.java:197)
at sun.tools.jmap.JMap.main(JMap.java:128)
Caused by: sun.jvm.hotspot.debugger.DebuggerException: Windbg Error: ReadVirtual failed!
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.readBytesFromProcess0(Native Method)
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.readBytesFromProcess(WindbgDebuggerLocal.java:485)
at sun.jvm.hotspot.debugger.DebuggerBase$Fetcher.fetchPage(DebuggerBase.java:76)
at sun.jvm.hotspot.debugger.PageCache.getPage(PageCache.java:178)
at sun.jvm.hotspot.debugger.PageCache.getInt(PageCache.java:96)
at sun.jvm.hotspot.debugger.DebuggerBase.readCInteger(DebuggerBase.java:355)
at sun.jvm.hotspot.debugger.DebuggerBase.readAddressValue(DebuggerBase.java:454)
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.readOopHandle(WindbgDebuggerLocal.java:327)
at sun.jvm.hotspot.debugger.windbg.WindbgAddress.getOopHandleAt(WindbgAddress.java:117)
at sun.jvm.hotspot.oops.Oop.getKlassForOopHandle(Oop.java:233)
at sun.jvm.hotspot.oops.ObjectHeap.newOop(ObjectHeap.java:380)
at sun.jvm.hotspot.oops.ObjectHeap.iterateLiveRegions(ObjectHeap.java:466)
at sun.jvm.hotspot.oops.ObjectHeap.iterate(ObjectHeap.java:244)
at sun.jvm.hotspot.tools.ObjectHistogram.run(ObjectHistogram.java:47)
at sun.jvm.hotspot.tools.ObjectHistogram.run(ObjectHistogram.java:37)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
at sun.jvm.hotspot.tools.ObjectHistogram.main(ObjectHistogram.java:56)
... 6 more



○環境
Windows7
java version "1.7.0_45"

以上。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

検索フォーム
プロフィール

takuan93

Author:takuan93
本ブログの説明書→「ReadMe」

管理者に連絡

カテゴリ
WiX (5)
Ant (1)
フリーエリア
最新記事
カウンター
カレンダー
08 | 2018/09 | 10
- - - - - - 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 - - - - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。