2010-06-20 5 views
0

방금 ​​Windows DLL (user32.dll) 내부에서 SetTimer 함수를 중단하는 방법을 알았습니다. link textVS2010 스레드 데이터 스택

그러나 어떤 인수가 필요한지 알아야합니다. 인수는 함수를 호출하기 전에 데이터 스택에 푸시됩니다. 그러나 Visual Studio 2010에서 스레드 데이터 스택을 표시 할 수있는 방법이 없습니다.

+0

여기에서 기호를 다운로드하는 것이 좋습니다. http://www.microsoft.com/whdc/DevTools/Debugging/symbolpkg.mspx –

답변

3

메모리 디버그 창을 열고 ESP (레지스터 창에서 가져올 수 있음)에 주소를로드하십시오. ESP는 스택 맨을 가리 킵니다. 창을 조금 위로 스크롤하면 최근 스택에 무엇이 푸시되었는지 보게됩니다. 4 바이트 정수의 한 열을 표시하도록 메모리 창을 설정해야합니다 (64 비트 앱이 아니면 8 바이트 사용).

0

호출 스택 창을 열면 (디버그 - Windows -> 호출 스택) 호출 스택 위로 함수를 두 번 클릭하고 매개 변수, 로컬 변수 등을 볼 수 있어야합니다.

+1

기호가있는 기능에만 해당됩니다. 그는 Win32 함수 인 SetTimer를 디버깅하므로 public 심볼 만 있습니다. 매개 변수를 가져 오려면 전체 디버그 기호가 있어야합니다. –

+0

여기에서 기호를 찾을 수 있습니다 (http://www.microsoft.com/whdc/DevTools/Debugging/symbolpkg.mspx –

+0

) @jeffamaphone : 매개 변수가 * SetTimer로 전달되는 것을보고 싶다면, 호출 스택을 검색하여'SetTimer'를 호출 한 것을 볼 수 있습니다 : 소스 코드/심볼이 있다고 가정하면 (그렇다고 가정합니다) 아무런 문제가 없어야합니다. –