meilleure technique pour le lancement d'un windbg utilisateur-mode de session de débogage à distance

StackOverflow https://stackoverflow.com/questions/52855

Question

Quelle est votre technique préférée pour le lancement d'un windbg utilisateur-mode de session de débogage à distance?Pourquoi préférez-vous cette technique par rapport aux autres techniques?(avantages/inconvénients)

Il y a au moins quatre façons différentes de faire de l'utilisateur en mode de débogage à distance à l'aide de windbg, comme indiqué dans le "Débogage à Distance" de la section des outils de débogage pour windows fichier d'aide.

  1. exécutez l'application sur la cible et fixez-le à partir de l'hôte windbg
  2. ont l'hôte windbg utilisation remote.exe pour le lancement de l'application sur la cible
  3. ont le "smart client" hôte windbg lancement de l'application sur la cible par l'intermédiaire d'un serveur de processus qui est en cours d'exécution sur la cible
  4. exécuter un windbg exemple, sur l'ordinateur cible à l'aide de l'option "serveur" pour démarrer automatiquement le serveur, puis connectez-vous au serveur à partir d'une 2ème machine.
Était-ce utile?

La solution

Il n'y a pas de "meilleure" solution.Chacune des possibilités a des avantages et des inconvénients et il est bon de les comprendre.Il dépend de plusieurs facteurs comme:

  • où sont les symboles situés
  • l'ordinateur qui a accès à Internet pour télécharger l'OS symboles
  • quelle quantité de données peut vous copier sur le serveur (souvent, les clients acceptent mieux si il suffit d'un seul Exe)
  • quelle est la bande passante entre le client et le serveur
  • avez-vous besoin d'autres commandes que juste CDB/WinDbg, par exemplel'accès à CMD, puis envisager de remote.exe
  • qui est disponible sur le côté serveur, un débogage expert que vous pouvez facilement dire beaucoup de cryptic commandes ou un utilisateur normal qui ne sait comment faire pour démarrer une invite de commande
  • sont des deux côtés dans un réseau privé, vous avez donc besoin d'un "homme du milieu" serveur afin de pouvoir accéder aux autres (ou plutôt la redirection de port, qui y les gars ne veulent pas et il peut prendre des jours pour le configurer)

De ces 4 options, n'oubliez pas que les clients veulent souvent voir exactement ce que vous faites, de sorte qu'ils nécessitent une session RDP, Teamviewer ou similaire.C'est quelque chose qu'ils comprennent.

Autres conseils

L'Option 1 est mon préféré car c'est le plus simple.J'arrive à lancer l'application, de façon normale, sans vous soucier de WinDbg pour définir le bon répertoire de travail, passer des arguments de ligne de commande, etc.

Heureusement que je n'ai pas de courir dans tous les cas où cela n'a pas fonctionné!

J'ai tendance à utiliser l'option 4 (serveur), car il est le seul qui ne fait pas "pop" quand vous cassez dans le débogueur de noyau assez longtemps pour que la connexion TCP en attente.Mais c'est plus complexe et n'est pas totalement satisfaisant.Je suis donc à la recherche de "bonnes pratiques".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top