근데 콜스택에 들어있는건 함수인자, 함수리턴주소 정도 인데 함수 인자야 그냥 코드봐도 나오는건데
보통 어떤 경우에 콜스택 직접 보면서 디버깅하는거임?? 초보라 궁금해서 무러봄
댓글 4
오류났을 때는 콜스택이 유용함. 어떤 컨텍스트에서 오류난건지 파악할 수 있으니까
익명(182.228)2022-08-27 23:45
그거 직접보고 하는건 짜증나는 작업이고
디버그 심볼이라고 콜스택에 있는거 좀 사람이 읽을 수 있게 해주는게 있음 - dc App
야딩조무사(cir6174)2022-08-28 00:14
답글
에러난 라인 찾아서 고쳐야하는데 콜스택 보는거말고는 방법이 별로 없음 - dc App
야딩조무사(cir6174)2022-08-28 00:18
시그널이나 예외를 받아서 프로그램이 강제 종료하면 거의 99.6%는 뭔가 잘못된 메모리 주소를 읽었다는 경우가 많지. 그런데 모든 메모리 문제가 널 포인터 역참조는 아니라서 원인까지 제대로 분석하려면 레지스터 덤프를 해봐야 암. 마지막으로 실행된 명령어 주소부터 역방향으로 진행하면서 잘못된 값을 만드는 원인을 찾는거임. 근데 이게 어셈블리어 읽을 수 있다해도 주요 심볼의 값들이 제공안되면 얻는게 별로 없으니 메모리 오류자체를 만들지 말자. 예외 처리가 기본인 언어들은 별도의 디버거 켜서 삽질하는 일은 잘 없을거임.
오류났을 때는 콜스택이 유용함. 어떤 컨텍스트에서 오류난건지 파악할 수 있으니까
그거 직접보고 하는건 짜증나는 작업이고 디버그 심볼이라고 콜스택에 있는거 좀 사람이 읽을 수 있게 해주는게 있음 - dc App
에러난 라인 찾아서 고쳐야하는데 콜스택 보는거말고는 방법이 별로 없음 - dc App
시그널이나 예외를 받아서 프로그램이 강제 종료하면 거의 99.6%는 뭔가 잘못된 메모리 주소를 읽었다는 경우가 많지. 그런데 모든 메모리 문제가 널 포인터 역참조는 아니라서 원인까지 제대로 분석하려면 레지스터 덤프를 해봐야 암. 마지막으로 실행된 명령어 주소부터 역방향으로 진행하면서 잘못된 값을 만드는 원인을 찾는거임. 근데 이게 어셈블리어 읽을 수 있다해도 주요 심볼의 값들이 제공안되면 얻는게 별로 없으니 메모리 오류자체를 만들지 말자. 예외 처리가 기본인 언어들은 별도의 디버거 켜서 삽질하는 일은 잘 없을거임.