Partager via


Vue d’ensemble de l’API d’extension WdbgExts

Chaque DLL d’extension WdbgExts exporte une ou plusieurs fonctions utilisées pour implémenter des commandes d’extension. Ces fonctions sont nommées selon la convention C standard, sauf que les lettres majuscules ne sont pas autorisées.

Le nom de la fonction et le nom de la commande d’extension sont identiques, sauf que la commande d’extension commence par un point d’exclamation ( ! ). Par exemple, lorsque vous chargez Myextension.dll dans le débogueur, puis que vous tapez !stack dans la fenêtre Commande du débogueur, le débogueur recherche une fonction exportée nommée stack dans Myextension.dll.

Si Myextension.dll n’est pas encore chargé, ou s’il existe d’autres commandes d’extension portant le même nom dans d’autres DLL d’extension, vous pouvez taper !myextension.stack dans la fenêtre Debugger Command pour indiquer la DLL d’extension et la commande d’extension dans cette DLL.

Chaque DLL d’extension WdbgExts exporte également un certain nombre de fonctions de rappel. Ces fonctions sont appelées par le débogueur lorsque la DLL est chargée et lorsque des commandes d’extension sont utilisées.

Le moteur de débogueur place un bloc try/except autour d’un appel à une DLL d’extension. Cela protège le moteur contre certains types de bogues dans le code d’extension. Toutefois, étant donné que les appels d’extension sont exécutés dans le même thread que le moteur, ils peuvent toujours provoquer le blocage du moteur.