gdb에서 for문에 BP를 걸고 실행하면 for문에서 한 번만 break를 하는 현상을 발견하였다. 하지만 for문은 분명 한 번 이상 돌고, n으로 따라가봐도 for문에서 다시 멈추지만 breakpoint를 hit했다는 문구는 볼 수 없었다.
이를 해결하려면 for문 바로 다음 line에 BP를 걸어야한다. 그 이유는 for문에 BP를 걸면 0x400729에 걸리는데, 이는 m=1로 initialize해주는 부분이다. 따라서 이 부분은 한 번밖에 실행되지 않는게 정상이다.
for문에서 실제로 조건을 비교하는 부분은 0x400965로 컴파일되었고, 이 조건이 true라면 0x400735<main+264>로 점프한다. 따라서 0x400735가 loop를 도는 시작점이라고 할 수 있다.
'Documents' 카테고리의 다른 글
ASUS TM-AC1900 (T-Mobile Wi-Fi CellSpot) 벽돌 복구하기 (87) | 2016.12.10 |
---|---|
너무 싼 가격의 Windows 10 믿어도 되나? (0) | 2016.11.12 |
오버워치 전체화면 안 될 때 (2) | 2016.10.02 |
Firmware Mod Kit on Kali Linux (0) | 2016.06.14 |
python list, dictionary, tuple안에서 변수 대입 (0) | 2016.04.10 |