J'aimerais créer une simple liste de fichiers de fichier .MAP d'adresses et noms de symboles à partir d'un fichier PDB. Mon inclination naturelle était de rechercher un outil nommé "PDB2MAP", mais la plupart des résultats que je reçois pour cela semblent se référer à un exemple de programme du CD inclus avec Débogage d'applications pour Microsoft .NET et Microsoft Windows EM >, qui malheureusement n'est pas également affiché sur le 'net. p>
Quelqu'un peut-il connaître un bon outil pour cela? Merci. P>
3 Réponses :
PDB2MAP a également été discuté dans un article de BugSlayer dans le magazine MSDN. Malheureusement, les archives de code pour le version en ligne de l'article a été enlevé. p>
John Robbins, l'auteur, a un blog et peut Soyez prêt à poster le code si vous le demandez. P>
BTW, le livre vaut la peine d'être obtenu. P>
Sam, jetez un coup d'œil à wintellect.com/contact.aspx Les commentaires sur les contacter leur indiquent qu'ils Cela ne voudrait probablement pas être contacté. Tout livre de Robbins, Richter ou Pietrek est fortement recommandé.
@Samb: Je pense que les informations de contact Wintellect Stephen Kellett ont fait valoir le mieux, mais il est possible que son adresse e-mail de quand il a écrit les colonnes de la bugslayer du magazine MSDN pourrait toujours fonctionner (bien que je sois honnêtement être un peu surpris): slayer@microsoft.com
Si vous avez à la fois l'application.exe et les fichiers Application.PDB, mettez-les dans le même répertoire et exécutez:
dumpbin /map application.exe > application.map
Intéressant. Cela semble être une fonctionnalité non documentée. MSDN.Microsoft.com/en-us/Library /756AS972(V=VS.90).aspx
@Paulh Si cela aide, le site de Geoff Chappell a une page sur elle . Il semblerait que le problème le plus important de l'absence de documentation soit que si l'EXE a une carte d'optimisation (ou "OMAP"), la carte peut être inexacte dans au moins certaines versions (plus anciennes) (cela peut ne pas s'appliquer à des versions plus récentes. Je n'ai pas été en mesure de trouver une documentation non officielle plus récente).
Il semble que ce fichier fera le truc: p>
Impossible de le trouver nulle part sous forme binaire et non à compiler la source également, voici mon paquet vraiment rapide et sale. Cela pourrait être utile pour quelqu'un. Il a été gratté du site susmentionné - il n'est pas écrit par moi, je ne l'ai pas compilé et apporté quelques modifications pour être compilables (VS2010 nécessaires). Voici: Source + bac
Y a-t-il une raison pour laquelle vous ne pouvez pas simplement recompiler le code et que le compilateur génère un fichier de carte?
Eh bien, il y a quelques cas où cela n'aide pas: (a) Vous n'avez pas accès au code source requis, car il s'agit en fait d'une bibliothèque que vous souhaitez que le fichier de carte (b) vous dispose d'un rapport de crash textuel. (Peut-être d'un utilisateur) et souhaitez voir où l'accident était