Épisode
Outils de défragmentation : #20 - WinDbg - Commandes de base
Dans cet épisode de Defrag Tools, Andrew Richards, Chad Beeder et Larry Larsen continuent de regarder les outils de débogage pour Windows (en particulier WinDbg). WinDbg est un débogueur qui prend en charge le débogage en mode utilisateur d’un processus ou le débogage en mode noyau d’un ordinateur.
Cette installation passe par les commandes utilisées pour afficher l’état de la session de débogage. Il montre également certaines des commandes de base utilisées pour afficher les informations de processus et de thread d’un processus en mode utilisateur. Nous abordons ces commandes :
- version
- vertarget
- |
- ||
- .sympath
- .srcpath
- .exepath
- .extpath
- .Chaîne
- !analyze -v
- .bug case activée
- !Erreur
- ~
- ~_NN_s
- ~~[TID]s
- ~*K
- ~*R
- !process 0 17
- !Fils
- !findstack
- !uniqstack
- !Peb
- !Teb
- k=
- dps
- dpu
- Dpa
- Dpp
- .reload /f
- .reload /user
- !Gle
- !Tls
Veillez à regarder l’épisode Defrag Tools #1 pour obtenir des instructions sur l’obtention des outils de débogage pour Windows et sur la définition des variables d’environnement requises pour les symboles et la résolution de code source.
Ressources :Kit de développement logiciel (SDK) Microsoft Windows pour Windows 7 et .NET Framework 4
Codes d’erreur système
Chronologie :[01 :01] - Débogage en direct de Bloc-notes Windows
[02 :14] - Vue d’ensemble de la session de débogage (version)
[03 :10] - Version/Architecture du système d’exploitation et temps système/débogage/utilisateur/noyau (vertarget)
[09 :03] - État du processus et du système (| {pipe}, || {double canal})
[10 :16] - Chemin du symbole (.sympath)
[10 :52] - Chemin source (.srcpath)
[11 :00] - Chemin d’accès exécutable (.exepath, lmvm - Fichier image mappé en mémoire)
[11 :40] - Chemin d’extension (.extpath)
[12 :20] - Extensions chargées (.chain)
[13 :43] - !analyze est pour les blocages utilisateur et noyau ( !analyze -v)
[14 :56] - Code et arguments du bogue case activée (.bug case activée)
[15 :26] - Recherche de code d’erreur ( !error)
[16 :04] - Threads dans un processus utilisateur (~ {tilde})
[17 :33] - Modifier le contexte de thread actuel (~_NN_s)
[20 :13] - Afficher toutes les piles d’appels ou registres (~*k, ~*r)
[21 :04] - Modifier le contexte de thread actuel par TID (~~[TID]s)
[24 :18] - Afficher toutes les piles d’appels dans tous les processus d’une session de noyau ( !process 0 17)
[25 :29] - Résumé de la configuration de tous les threads ( !threads)
[26 :54] - Rechercher la pile des appels ( !findstack)
[27 :35] - Piles d’appels uniques ( !uniqstack)
[28 :30] - Bloc d’environnement de processus ( !peb)
[30 :50] - Bloc d’environnement thread ( !teb)
[32 :02] - Dépassement de mémoire tampon d’une variable de pile
[33 :11] - Loisirs de pile des appels (k= {x64})
[34 :40] - Afficher des pointeurs sous forme de symbole, Unicode, ANSI ou Pointeur (dps, dpu, dpa, dpp)
[37 :40] - Forcer le chargement des symboles (.reload /f)
[38 :43] - Forcer le chargement des symboles utilisateur dans le noyau lorsque vous modifiez le contexte du thread (.reload /user)
Remarque : /u est pour décharger, pas charger les symboles utilisateur - c’est pourquoi Chad est le type de noyau !
[39 :18] - Valeur SetLastError/GetLastError dans le TEB ( !gle)
[40 :14] - Valeurs de Stockage locales de thread dans le TEB ( !tls)
Dans cet épisode de Defrag Tools, Andrew Richards, Chad Beeder et Larry Larsen continuent de regarder les outils de débogage pour Windows (en particulier WinDbg). WinDbg est un débogueur qui prend en charge le débogage en mode utilisateur d’un processus ou le débogage en mode noyau d’un ordinateur.
Cette installation passe par les commandes utilisées pour afficher l’état de la session de débogage. Il montre également certaines des commandes de base utilisées pour afficher les informations de processus et de thread d’un processus en mode utilisateur. Nous abordons ces commandes :
- version
- vertarget
- |
- ||
- .sympath
- .srcpath
- .exepath
- .extpath
- .Chaîne
- !analyze -v
- .bug case activée
- !Erreur
- ~
- ~_NN_s
- ~~[TID]s
- ~*K
- ~*R
- !process 0 17
- !Fils
- !findstack
- !uniqstack
- !Peb
- !Teb
- k=
- dps
- dpu
- Dpa
- Dpp
- .reload /f
- .reload /user
- !Gle
- !Tls
Veillez à regarder l’épisode Defrag Tools #1 pour obtenir des instructions sur l’obtention des outils de débogage pour Windows et sur la définition des variables d’environnement requises pour les symboles et la résolution de code source.
Ressources :Kit de développement logiciel (SDK) Microsoft Windows pour Windows 7 et .NET Framework 4
Codes d’erreur système
Chronologie :[01 :01] - Débogage en direct de Bloc-notes Windows
[02 :14] - Vue d’ensemble de la session de débogage (version)
[03 :10] - Version/Architecture du système d’exploitation et temps système/débogage/utilisateur/noyau (vertarget)
[09 :03] - État du processus et du système (| {pipe}, || {double canal})
[10 :16] - Chemin du symbole (.sympath)
[10 :52] - Chemin source (.srcpath)
[11 :00] - Chemin d’accès exécutable (.exepath, lmvm - Fichier image mappé en mémoire)
[11 :40] - Chemin d’extension (.extpath)
[12 :20] - Extensions chargées (.chain)
[13 :43] - !analyze est pour les blocages utilisateur et noyau ( !analyze -v)
[14 :56] - Code et arguments du bogue case activée (.bug case activée)
[15 :26] - Recherche de code d’erreur ( !error)
[16 :04] - Threads dans un processus utilisateur (~ {tilde})
[17 :33] - Modifier le contexte de thread actuel (~_NN_s)
[20 :13] - Afficher toutes les piles d’appels ou registres (~*k, ~*r)
[21 :04] - Modifier le contexte de thread actuel par TID (~~[TID]s)
[24 :18] - Afficher toutes les piles d’appels dans tous les processus d’une session de noyau ( !process 0 17)
[25 :29] - Résumé de la configuration de tous les threads ( !threads)
[26 :54] - Rechercher la pile des appels ( !findstack)
[27 :35] - Piles d’appels uniques ( !uniqstack)
[28 :30] - Bloc d’environnement de processus ( !peb)
[30 :50] - Bloc d’environnement thread ( !teb)
[32 :02] - Dépassement de mémoire tampon d’une variable de pile
[33 :11] - Loisirs de pile des appels (k= {x64})
[34 :40] - Afficher des pointeurs sous forme de symbole, Unicode, ANSI ou Pointeur (dps, dpu, dpa, dpp)
[37 :40] - Forcer le chargement des symboles (.reload /f)
[38 :43] - Forcer le chargement des symboles utilisateur dans le noyau lorsque vous modifiez le contexte du thread (.reload /user)
Remarque : /u est pour décharger, pas charger les symboles utilisateur - c’est pourquoi Chad est le type de noyau !
[39 :18] - Valeur SetLastError/GetLastError dans le TEB ( !gle)
[40 :14] - Valeurs de Stockage locales de thread dans le TEB ( !tls)