리포비탄
87
2021-09-09 12:00:17
4
140

자바 디버깅모드에서 조건문의 참,거짓을 강제로 바꿔줄수도 있나요?


if(list.size() = 0)


위와같은 조건문에서 list.size() 가 1인경우, 강제로 list.size()를 0으로 바꿔주거나 if문 자체를 true로 바꿔줄수는 없나요?

0
  • 답변 4

  • kenu
    56k
    2021-09-09 12:05:28

    if(a > b) 
    아래처럼 부울린 변수로 만들어서 변수값을 hot swap으로 바꿔서 진행할 수 있습니다.

    boolean c = a > b;

    if (c)


    https://www.google.com/search?q=java+debug+hot+swap

  • Dierslair
    4k
    2021-09-09 12:08:45

    이클립스는 잘 모르겠네요. 인텔리제이는 디버깅 중에 값을 강제로 바꿀 수 있습니다.


  • 리포비탄
    87
    2021-09-09 12:15:29 작성 2021-09-09 12:17:38 수정됨

    이클립스도 변수의 값은 바꿀 수 있는데, 조건문의 결과도 바꿀 수 있을까해서 질문 올렸습니다.

    단순히 변수의 값을 판단해서 true, false가 나오는거면, 디버깅으로 변수의 값을 바꿔서 진행하면 되는데,

    리스트의 size와 같이 디버깅으로 수정이 불가능한 항목이 조건문에 있을 경우,

    소스코드의 수정없이 실행흐름을 변경할 수 있는 방법이 있는지 궁금합니다!


    지금까지는 소스코드를 수정해서 if문의 조건식을 그냥 true로 때려박고 다시 빌드돌리면서 진행했는데

    너무 비효율적인거같아서요...

  • kenu
    56k
    2021-09-09 12:54:26

    "표현식이 너무 복잡해서 이해하기 어려울 때가 있다.

    이럴 때 지역 변수를 활용하면 표현식을 쪼개 관리하기 더 쉽게 만들 수 있다.

    그러면 복잡한 로직을 구성하는 단계마다 이름을 붙일 수 있어서 코드의 목적을 훨씬 더 명확하게 드러낼 수 있다.


    이 과정에서 추가한 변수는 디버깅에도 도움된다.

    디버거에 중단점을 지정하거나 상태를 출력하는 문장을 추가할 수 있기 때문이다.


    출처: https://zereight.tistory.com/942 [Zereight's Blog]

  • 로그인을 하시면 답변을 등록할 수 있습니다.