2012-11-22 3 views
7

Je suis en train de déboguer un pilote de périphérique en mode noyau pour Windows, en utilisant WinDbg. Est-il possible de créer une minidump à la demande? Je veux dire, l'un de mes points d'arrêt est touché, le système est arrêté. Je veux créer un minidump (disons pile seulement). Y a-t-il un mot-clé WinDbg pour cela?Comment créer un vidage de noyau en utilisant WinDbg

Merci à l'avance

Répondre

9

Vous pouvez écrire un minidump comme tant quand il frappe votre point d'arrêt:

bp myDLL!myFunc ".dump /ma c:\myDump.dmp;g" 

Cela va ajouter un point d'arrêt à votre fonction et d'exécuter les commandes dans les guillemets, cela écrire un minidump avec la plupart des drapeaux, puis continuer.

Voir here pour plus d'informations sur .dump et here sur bp syntaxe.

Pour vider la mémoire complète en mode utilisateur ou noyau:

.dump /f 

mais /ma switch met effectivement plus d'informations en mode pour l'utilisateur.

Si vous obtenez l'erreur:

Unable to create file 'c:\myDump.dmp' - Win32 error 0n5 
    "Access is denied." 

essayez d'écrire le fichier dans le répertoire c: \ users \ répertoire public \.

.dump /f c:\users\public\myDump.dmp 
+0

Supposons que je suis déjà dans un point d'arrêt. Si je comprends bien, la commande est '.dump/ma c: \ myDump.dmp', non? – valdo

+0

@valdo oui c'est correct – EdChum

+0

A partir du fichier d'aide windbg pour la commande .dump: En mode noyau, pour produire un vidage complet de la mémoire, utilisez l'option/f. Pour produire un petit vidage de mémoire, utilisez l'option/m (ou pas d'options). La commande .dump ne peut pas produire un vidage de la mémoire du noyau. Donc peut-être juste '.dump/mc: \ myDump.dmp' (sans l'option' a' après l'option 'm') –

2

Notez que .dump ne peut pas créer un vidage de la mémoire du noyau, ou complétez uniquement des petites décharges Mémoire (/ f ou/m). Pour obtenir un vidage de la mémoire du noyau, vous devez utiliser le Panneau de configuration pour activer l'écriture des fichiers de vidage, puis utiliser .crash dans le débogueur pour déclencher un plantage qui provoquera l'écriture d'un fichier de vidage. Pour plus d'informations sur l'utilisation de ce fichier, reportez-vous à l'aide de windbg pour .crash, y compris un lien vers "Création d'un fichier de vidage en mode noyau".

Questions connexes