2010-10-19 15 views
9

Existe-t-il un moyen de mettre un point d'arrêt sur n'importe quelle fonction dans Visual Studio, un peu comme bm kernel32!LoadLib* dans WinDbg?Mettre le point d'arrêt sur la fonction nommée

Je sais que l'one-way est de casser au début d'application, trouvez l'adresse de chargement de DLL requise, puis ajoutez l'offset à la fonction requise que vous pouvez obtenir par Depends, et créez un point d'arrêt. Mais c'est vraiment lent, et passer à WinDbg et revenir est également très ennuyeux.

Peut-être qu'il existe un meilleur moyen? Aller à "Débogage/Nouveau point d'arrêt/Pause à la fonction ..." et coller le nom de la fonction.

Répondre

14

Pour les API, cela peut être difficile, car le nom de la fonction vu par le débogueur est différent de son vrai nom.
Exemples:

{,,kernel32.dll}[email protected] 
{,,user32.dll}[email protected] 

Voir ce post de blog pour trouver le bon nom: Setting a Visual Studio breakpoint on a Win32 API function in user32.dll

+1

fonctions API étaient exactement ce que je avais besoin, je vous remercie! Je souhaite seulement qu'il y avait un moyen plus facile de trouver le nom décoré ... – Coder