2011-09-16 7 views
1

저는 콜 스택과 함께 놀았으며 때때로 FPO 프레임을 실행하는 것으로 나타났습니다.
dbgHelp 어떻게 든 각 프레임이 끝나는 위치와 기호를 알아낼 수 있지만 kernel32 등의 DLL PDBS가 없습니다.FPO 데이터 및 시스템 DLL

Windows의 시스템 DLL에 FPO 데이터가 있습니까? 클라이언트의 컴퓨터에서 내 프로그램을 사용할 때이 프로그램을 사용할 수 있습니까? 다른 디버그 정보가 들어 있습니까?

+0

.pdb에는 fpo 데이터가 들어 있습니다. 아니, 당신은 그들에게 의지 할 수 없다. 이러한 Windows DLL은 지속적으로 업데이트됩니다. –

+0

어쨌든 클라이언트의 컴퓨터에서 PFO 데이터를 읽으므로 업데이트되지 않아도 상관 없습니다. 미리 코딩 된 하드 코딩 된 기호 등을 사용하지 않을 것입니다. – Idov

+0

FPO 데이터를 EXE 또는 DLL 자체에 넣을 수도 있습니다. 내 질문은 그게 그들이 그것을 넣어하는 경우입니다. – Idov

답변

2

기호 경로를 //msdl.microsoft.com/download/symbols로 설정하면 시스템 DLL의 공용 기호를 사용할 수 있습니다. IIRC 많은 Windows 구성 요소는 FPO가 해제 된 상태로 컴파일됩니다. 그러나 정확하게 당신이 성취하려는 것은 무엇입니까? 어떤 "디버그"정보를 찾고 계십니까?

+0

주로 디버그 기호를 찾고 있습니다. 나는 "SymFromAddr"을 ntDll.dll에있는 NtDelayExecution에서 사용하려고 시도했지만 PDB가 없으므로 이상하게 보입니다. 나는 FPO 프레임을 쌓아 올릴 수 있기를 원하며 FPO 정보가 필요하다. – Idov