2012-09-13 101 views
0

我們有一些Java代碼使用以下代碼啓動新進程:Runtime.getRuntime().exec(command);我希望能夠告訴調試器它應該遵循子進程,就像您可以使用GDB一樣進行操作as documented here通過發出set follow-fork-mode child命令。IntelliJ IDEA調試器遵循子進程

IntelliJ IDEA Java調試器中是否有相同的東西?如果是的話,我該如何配置它?

感謝

+0

在Twitter上打@wajiii,他很可能知道這一點。 – JohnMetta

+0

子進程是一個JVM嗎?請注意,您必須調整此過程的VM選項,以便以調試模式啓動。不,IDEA不支持自動方式,但可以使用第二個遠程調試配置來連接和調試使用適當調試選項啓動的子進程。 – CrazyCoder

+0

@CrazyCoder:是的,子進程是一個JVM。謝謝回覆。我正在尋找一種自動方式,而不必使用遠程調試,但它看起來並不像我有太多選擇。 –

回答

2

Java不調試進程及其子進程提供了一個自動化的方式。需要使用JVM選項運行子進程以啓用調試。 IDEA 遠程調試配置將建議使用正確的選項。一旦該流程啓動並具有適當的選項,您可以使用遠程調試配置從IDEA連接到該流程。

樣本選項:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 

您可能要開始suspend=y,這樣,直到你用調試器連接的執行被掛起。