[VC++] Cum incarc automat simbolurile la remote debugging?

Mediul de dezvoltare Visual C++, instalare, setari, debugger, compilator, linker si documentatie (forum moderat)
Post Reply
User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

[VC++] Cum incarc automat simbolurile la remote debugging?

Post by Marius Bancila » 11 Aug 2011, 12:01

Problema
Vreau sa fac remote debugging la o aplicatie. Unde trebuie sa fie fisierele PDB pentru a se incarca automat?

Solutie
In primul rand locatiile in care debuggerul cauta fisierele PDB sunt, pe rand:
  • directorul din care a fost incarcat modulul (DLL, EXE)
  • folderul "Debug Directories" specificat in fisierul executabil (PE); se poate folosi utilitarul DUMPBIN pentru a vedea care este aceasta
  • daca exista setat un server de simboluri (Symbol Server) atunci se cauta in directorul cache al acestuia
  • ca si ultima instanta debuggerul cauta fisierele PDB pe serverul de simboluri
Sunt trei cazuri ce trebuie diferentiate: nativ, managed si mixed mode (acesta din urma fiind practic o suma a celor doua anterioare).
  • Nativ: Fisierele PDB trebuie sa fie pe masina locala (adica cea pe care ruleaza Visual Studio) intr-un folder cu aceiasi cale ca si aplicatia/modulul de pe masina remote.
  • Managed: Fisierele PDB trebuie sa fie pe masina remote, in folderul unde ruleaza aplicatia/modulul.
  • Mixed-mode: Fisierele PDB pentru modulele native trebuie sa fie pe masina locala, iar fisierele PDB pentru modulele managed (assembly-uri) trebuie sa fie pe masina remote.
Vezi si


Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

Post Reply