簡體   English   中英

在調試模式下垃圾收集的對象

[英]Objects garbage collected in debug mode

我有一個簡單的 JUnit 測試

@Test
public void validateMoney() throws IOException {

    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    FileInputStream fileStream = new FileInputStream("src/test/resources/IndividualMoney.json");
    Money money = mapper.readValue(fileStream, Money.class);
    List<Person> people = personService.execute(money);

每當我在 Linux 中的 java Oxygen 上運行調試並嘗試訪問人員列表時,我都會在檢索值時得到com.sun.jdi.objectcollectedexception 我讀過類似的問題,其中一個解決方案是取消選中 window/preferences/debug Show method result after a step operation 我取消選中它,但結果是一樣的

您可以使用(調用某些內容)人員列表以確保它不會被 GC。

List<Person> people = personService.execute(money);
people.forEach(System.out::println);

現在, people.forEach(System.out::println)上的調試標志應該允許您瀏覽people列表。

這能解決您的問題嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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