2013-12-19 2 views
1

8086 에뮬레이터 + 디버거를 쓰려고합니다. 첫 번째 글에 대한 많은 정보가 있지만 두 번째 글에 대한 정보는 없습니다. TASM이 명령 tasm.exe /zi main.asmtlink.exe /v main.obj (프로그램 목록을 보여주기 위해)으로 실행 가능한 MZ에 포함되어있는 디버그 정보를 읽어야합니다. 이 정보는 .exe 파일의 opcode 바로 뒤에 추가됩니다. 터보 디버거가이 데이터를 성공적으로 읽고 보여줍니다. 그러나 어떻게 그 일을합니까? 이러한 기능을 구현하는 방법은 무엇입니까?DOS MZ 실행 파일에서 디버그 정보 읽기

+0

이 가장 가능성이 컴파일러 특정 :

랄프 브라운은 또한 헤더에 대한 간단한 설명이 있습니다. 따라서 디버그 정보 형식은 컴파일러에 따라 다릅니다. 어쩌면 형식이 문서화되어 있을지 모르겠지만 의심 스럽습니다. 먼저 에뮬레이터에서 TD를 실행하는 것이 좋습니다. – PMF

+0

형식이 'COFF' 인 경우 [MSDN] (http://msdn.microsoft.com/en-us/library/)에서 특정 정보를 찾을 수 있습니다. windows/hardware/gg463119.aspx). – Devolus

답변

3

볼랜드의 TLINK/Turbo Debugger 디버깅 정보에 대한 가장 좋은 정보원은 아마도 볼랜드 오픈 아키텍처 핸드북입니다 (많은 곳에서 사용 가능, 예 : here). 업데이트 된 32 비트 지원 디버그 정보 ("심볼 테이블 형식"섹션 참조)에 대해 설명하지만 많은 내용이 여전히 16 비트 코드에도 적용됩니다. http://www.delorie.com/djgpp/doc/rbinter/it/24/16.html