我遇到了類似於我之前介紹的here的問題。ptrace使用C/C++的Java程序
這次我想用c/C++編寫的程序來跟蹤JAVA程序的執行情況。所以正如我之前所說的跟蹤stdout打印c/C++和註冊系統調用4的相同代碼還沒有爲JAVA做過。我認爲這是因爲我跟蹤的execlp僅用於運行jvm。後來創建了更多的流程(通過jvm的內部機制),我不追蹤它。我發現這個似乎是部分解決方案的topic。如果我做對了,每個孩子都會被追蹤。但這也是一個問題,我只想跟蹤處理我的應用程序的進程,而不是所有jvm可能創建的進程。有沒有機會知道哪個jvm線程/進程處理我的程序並只跟蹤它?
爲了讓它更容易讓我們假設我的JAVA程序是單線程的。