Visual Studio 2019의 디버거에서 메서드 반환 값을보고 싶습니다.

1774 단어 VisualStudioC#
했어.

다음과 같은 트윗을했습니다.
そういえば Visual Studio でデバッグしてて、メソッドの最後の閉じ括弧にいるときは 
$returnvalue をウォッチ式として入れると戻り値が見れるという豆知識

마유키 선생님이 지적했지만 잘못되었습니다 orz

$returnvalue 는 마지막에 스텝 오버등으로 실행한 메소드의 반환값이 들어가 있으므로, 메소드의 마지막에 브레이크 포인트를 두어도 볼 수 없네요. 카즈키씨의 예라고 ToArray의 결과(암묵 변환으로 ActionResult가 된 녀석)가 보이고 있다고 하는 느낌. htps // t. 코 / 오쿠 아타 NY2 피 c. 라고 r. 이 m/에서 J5 케모 x7 — Mayuki Sawatari (@mayuki) June 1, 2020


$returnvalue 는 스텝 오버 등으로 실행한 메소드의 반환값이 들어가 있다고 하는 것이므로, 나의 닫는 괄호의 위치에서는, 아직 반환값은 들어가 있지 않았습니다.



내 코드라면 ToArray 하고 암시적 형식 변환된 것을 return 했기 때문에 return 의 결과와 일치했을 뿐이었습니다. 불행히도 orz



라고 하는 것으로, 그럼 메소드의 반환값 보고 싶은 경우는, 어떻게 하면 좋을까? 라는 것입니다만, 가볍게 본 느낌 상기 트윗의 위치에 브레이크 포인트가 있는 시점에서는 무리인 것 같습니다.



return 문에 써 있는 식에 부작용이 없는 경우에는 다음과 같이 return 에서 먼저 선택하여 Shift+F9 의 퀵 워치로 확인할 수도 있습니다.





부작용이 있는 경우는 온순하게 스텝 오버를 해 메소드로부터 빠집니다.

메서드를 벗어나면 메서드의 반환 값을 변수에 넣지 않은 경우에도 자동 변수에 결과가 표시됩니다. 자동 변수를 보고 싶은 경우는 디버그 중에 메뉴의 「디버그」→「윈도우」→「자동 변수」로 표시되는 윈도우에서 볼 수 있습니다.




좋은 웹페이지 즐겨찾기