2014-02-28 3 views
0

어셈블리를 실험하고 있습니다. 지금은 몇 가지 간단한 C 코드를보고하는 방법의 조립 사용으로 번역하고있다 : 당신은 스택에 그 내용을 볼 수 있습니다 몇 가지 도구가 있다면 난 그냥 궁금스택의 내용보기

gcc -Wall -S -fno-asynchronous-unwind-tables -o test.s test.c -m32 

? 모든 푸시 명령어에 대한 어셈블리 코드를 살펴볼 수 있지만 일부 어셈블리 명령어 (예 : 호출)는 스택에도 내용을 푸시합니다.

어셈블리 또는 C 코드를 실행할 때 스택과 정확히 어떤 일이 발생하는지 더 잘 시각화 할 수있는 도구가 있습니까?

+3

디버거는 이러한 가시성을 제공하며 실행시 개별 어셈블리 지침을 한 단계 씩 진행할 수 있습니다. – mah

+3

당신은'gdb'와 같은 ** 디버거 **를 찾고 있습니다. – DCoder

답변

2

예, 당신이 원하는 것은 잘 알려진 디버거 gdb입니다. 당신은 같은 프로그램을 실행할 수 있도록

gdb를 ./{program} 프로그램이 특정 지점에서 정지 있도록

그런 다음 당신은 중단 점을 설정할 수 있습니다. 그런 다음 다양한 명령을 사용하여 스택을 검사 할 수 있습니다.

http://www.yolinux.com/TUTORIALS/GDB-Commands.html

1
'시각'디버깅 도구

: 이클립스 CDT 이클립스 CDT 디버그를 실행하면 무서운 GDB 탐색 어려움을 겪고없이 멋지게 테이블에 정렬 된 거의 모든 것을 볼 수 있습니다 명령 (아직이 백입니다 끝은 GDB이다). 힘들지만이 디버거를 사용하는 것은 약간 까다 롭습니다. 그러나 Youtube와 Google은 충분한 자습서를 제공합니다.