cost 159 ms
如何以不同方式設置-javaagent?

[英]How to set -javaagent differently?

我需要在不設置 -javaagent 的情況下加載 java 代理。 我需要這樣做的原因是我有一個 exe 啟動 JVM,並在文件中指定了命令行參數。 此 exe 過濾器 -javaagent。 我怎樣才能做到這一點? 我必須通過命令行參數加載此代理,而不是稍后通過附件加載。 ...

如何通過 jvmti 從遠程調試器接收斷點事件?

[英]How to receive breakpoint events by jvmti, from remoting debugger?

共享虛擬機中有一個 jvm。 其他開發者可能通過idea遠程調試,導致斷點掛機。 出於某種原因,我需要繼續這個過程。 我用 jvmti 編寫了一個代理程序,試圖接收斷點事件以清除它們。 但是沒有收到任何事件。 接收設置斷點事件的正確方法是什么? 或者任何其他方式來阻止遠程掛斷? 提前致謝。 ...

JVMTI class 未准備好

[英]JVMTI class not prepared

我正在使用 JVMTI 編寫本機 Java 代理,該代理遍歷所有已加載類的所有方法。 不幸的是,許多類似乎還沒有准備好,因此GetClassMethods返回JVMTI_ERROR_CLASS_NOT_PREPARED 。 我正在注冊一個ClassPrepare事件回調,但似乎只為很少的類調用。 簡 ...

Java 不使用JVMTI強制垃圾回收?

[英]Java Force Garbage collection without using JVMTI?

我知道強制垃圾收集的唯一方法是使用 JVMTI 中的ForceGarbageCollection() 。 是否有任何跨平台的方式來強制GC(所以我不需要為每個平台創建一個 JVMTI 庫)? ...

如果 JVMTI 不是,Java 的 JDI 跨平台如何?

[英]How is Java's JDI cross platform if JVMTI is not?

所以Java的調試接口使用JVMTI作為后端......但是JVMTI需要在目標架構上編譯,那么JDI使用的這些JVMTI函數是預編譯並作為庫隨JDK一起提供的嗎? 這意味着我可以在不使用 JDI 的情況下使用那些預編譯的庫……對嗎? 我假設只有少數函數已經編譯,但如果我需要這些函數,那么我不需要 ...

使用 Java 代理獲取給定 Java class 的實例數?

[英]Get number of instances of a given Java class using a Java agent?

是否可以使用 Java 代理來獲取任何 Java class 的實例數? 例如,如果我們有 Java 代理將返回 JVM 中有多少Apple實例。 如果 Java 代理無法實現,是否可以在不啟用調試模式的情況下以另一種跨平台方式進行(因此排除 JVMTI 和 JDI)? ...

JVM 如何收集 ThreadDump underhood

[英]How JVM collect ThreadDump underhood

請解釋 JVM 如何收集 ThreadDump underhood。 我不明白它是如何收集脫離 CPU 的線程的堆棧跟蹤(等待磁盤 IO、網絡、非自願上下文切換)。 例如,linux perf 僅收集有關 on-CPU 線程(使用 CPU 周期)的信息 ...

如何使用 JNI+JVMTI 捕獲 JIT 的去優化事件,例如“unstable_if”

[英]How can I catch JIT's deoptimization events like "unstable_if" with JNI+JVMTI

我真的很想知道如何捕捉 JIT 的去優化事件。 今天,我讀到了 Andrei Pangin 的精彩回答當忙碌的 Java 線程綁定到物理核心時,是否會因為到達代碼中的新分支而發生上下文切換? 並再次考慮。 我想用 JNI+JVMTI 捕捉 JIT 的去優化事件,比如“unstable_if、cla ...

JVMTI_EVENT_COMPILED_METHOD_* 和 JVMTI_EVENT_DYNAMIC_CODE_GENERATED 之間有什么區別?

[英]What is diff between JVMTI_EVENT_COMPILED_METHOD_* and JVMTI_EVENT_DYNAMIC_CODE_GENERATED?

幫助我了解 OpenJDK 8 的 JVMTI_EVENT_COMPILED_METHOD_* 和 JVMTI_EVENT_DYNAMIC_CODE_GENERATED 之間的區別。 我在 Grafana 計算這些事件以進行可視化,但直到最后才理解它們。 也許它是“解釋器”和“C2/C1”之類的。 ...

如何從 Java 的 JDI 中隱藏變量?

[英]How to hide variables from Java's JDI?

我正在檢測一些類並引入一些新的局部變量。 現在,當用戶在代碼中放置斷點並停止執行時,可以在 Intellij IDEA 的調試器 window 中看到新引入的局部變量。 我該如何隱藏它們? 更新:我將不得不以某種方式從檢測代碼中刪除調試信息,但不知道該怎么做。 更新 2:我正在使用 ASM 庫進行 ...

'變量 JNIEXPORT 不是類型名稱'

[英]'variable JNIEXPORT is not type name'

我不知道為什么在 JNIEXPORT 和 JNICALL 上給我錯誤... 信息:Visual Studio 2017,Windows JAVA_HOME 已設置。 在“C/C++ > 常規 > 附加包含目錄”中添加了目錄包含目錄 > C:\Program Files\Java ...

java 代理中的競爭條件在初始化 ThreadStart 事件回調和正在創建的代理線程之間

[英]Race condition in java agent between initializing ThreadStart event callback and agent threads being created

JVMTI 文檔說明了有關 VMInit 事件的以下內容。 VM 初始化事件表示 VM 初始化完成。 主應用程序線程的線程啟動事件保證在 VM 初始化事件的處理程序返回之前不會發生。 以下是關於 ThreadStart 事件: 線程啟動事件由新線程在其初始方法執行之前生成。 我正在觀察一個 op ...

是否可以在被調試端的Java中獲取JDI當前的StackFrame?

[英]Is it possible to get JDI's current StackFrame in Java at the debuggee side?

因此, JDI允許我們在被調試應用程序中設置斷點,然后通過JDWP獲取當前的StackFrame 。 據我了解,在被調試端使用JVMTI通過JDWP將請求的信息發送到JDI 。 是否可以從調試器本身獲取當前的StackFrame (因此無需將其發送到調試器......調試器將是它自己的調試器)? ...

JVMTI - 從 jvmtiFrameInfo 獲取行號

[英]JVMTI - Get line number from jvmtiFrameInfo

當拋出異常時,我有以下代碼來獲取當前堆棧幀位置的行號,但我通過試驗而不是通過規范來解決這個問題。 我只留下了相關代碼。 GetLineNumberTable為currentMethod的所有行返回line_number和相應的start_location 。 現在這是我的困惑開始的地方:為什么我不 ...

具有原始類型的 JNI GetObjectClass

[英]JNI GetObjectClass with primitive type

我有以下 JNI/JVMTI 代碼: 此代碼適用於 long字段是引用類型(java.lang.Object 和子類型)。 如果field是原始類型,它會在嘗試執行GetObjectClass時使 JVM 崩潰。 我的問題是:我如何使用field和fieldValue來確定它是否是原始類型以及是否 ...

如何使用熱點動態附加機制訪問 JVM 內部數據結構?

[英]How to access JVM internal data structures using the Hotspot Dynamic Attach Mechanism?

根據OpenJDK 的網站,可以將線程附加到 Hotspot(動態附加 API),它可以收集有關它的信息。 我在互聯網上找不到任何有關如何獲取有關 Hotspot 內部數據結構的信息的材料,例如操作數堆棧或字節碼解釋器的 state(以了解當前正在執行的字節碼)或檢索當前堆棧幀等。 此外,如果動態 ...

從特定線程請求堆棧跟蹤是否需要所有線程都處於安全點?

[英]Does requesting a stack trace from a particular thread require all threads to be at a safe point?

當通過Thread#getStackTrace()或ThreadMXBean#getThreadInfo(long[], int)從另一個線程請求堆棧跟蹤時,是否所有線程都必須進入安全點,從而必須等到所有其他線程都進入安全點? 這個博客似乎表明情況是這樣的: 無論您是對單個線程還是所有線程 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM