$ cat t-invmod.exe.stackdump
Stack trace:
Frame Function Args
0028C878 61032BCB (000000F4, 0000EA60, 000000A4, 0028C8D8)
0028C998 610E7A7A (00000001, 0028CA3F, 00000001, 611A2C80)
주소는 프로그램 또는로드 공유 libs와에서 오는 할 수 있습니다 다음 STACKDUMP 스택에 존재하는 주소를 제공, 32 비트에서이 예에서는 우리는 두 개의 주소가 있습니다.
주소를 코드 위치로 변환하려면 addr2line
을 사용하십시오. 예 :이 경우
$ addr2line.exe -a 610E7A7A -a 61032BCB -e /usr/bin/cygwin1.dll
0x610e7a7a
/usr/src/debug/cygwin-2.5.1-1/winsup/cygwin/cygerrno.h:36
0x61032bcb
/usr/src/debug/cygwin-2.5.1-1/winsup/cygwin/cygerrno.h:35
높은 주소는 충돌이 공유 lib에 아닌 프로그램에 있었던 나에게 말했다. 주소가 속한 당신을 식별 할 수 ldd
를 사용할 수 있습니다 주소가 DLL의보다 낮은
$ ldd t-invmod.exe
ntdll.dll => /cygdrive/c/Windows/SysWOW64/ntdll.dll (0x776d0000)
kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x75500000)
KERNELBASE.dll => /cygdrive/c/Windows/syswow64/KERNELBASE.dll (0x75a10000)
SYSFER.DLL => /cygdrive/c/Windows/SysWOW64/SYSFER.DLL (0x73480000)
cygflint.dll => /usr/bin/cygflint.dll (0x5f390000)
cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
cyggmp-10.dll => /usr/bin/cyggmp-10.dll (0x589e0000)
cygmpfr-4.dll => /usr/bin/cygmpfr-4.dll (0x51080000)
cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x5ece0000)
cygntl-9.dll => /usr/bin/cygntl-9.dll (0x50270000)
cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x4b340000)
경우,이 프로그램에 속한; 공유 라이브러리에 속한 경우 위치 정보를 복구하기위한 상대 * debuginfo 패키지를 설치해야합니다.