Je suis en train d'obtenir des symboles à partir d'adresses que j'ai reçu de ma pile, mais SymFromAddr échoue après avec une erreur de système 126 (Le module spécifié est introuvable.)
Je suis initialiser la chose symboling avecSymFromAddr renvoie «Le module spécifié est introuvable.
SymInitialize(m_processHandle, NULL, TRUE);
(le dernier paramètre == true ==> Il charge l'APB automatiquement)
et je l'utilise SymFromAddr comme ceci:
SYMBOL_INFO_PACKAGE sym = { sizeof(sym) };
sym.si.MaxNameLen = MAX_SYM_NAME;
DWORD64 displacement = 0;
bool ok = SymFromAddr(m_processHandle, address, &displacement, &sym.si);
le code est en C++ sur windows. et le fichier PDB est dans le répertoire de l'EXE! Qu'est-ce que je fais de mal? merci :)
Il devrait être sizeof (SYMBOL_INFO) au lieu de sizeof (sym); Je ne sais pas si cela cause l'erreur, cependant. Vous pouvez utiliser le moniteur de processus pour voir s'il regarde dans l'endroit prévu ou pas. – Luke
quoi? Comment puis-je utiliser Process Monitor pour cela? :) – Idov
Vous pouvez vérifier s'il charge le fichier .pdb à partir de l'emplacement correct. – Luke