12
votes

Quels de quels debuggers prennent en charge la machine / la fonctionnalité de la machine / retour?

Si possible, décrivez les plates-formes / langues / formats symboliques pris en charge et si le support complet est fourni (les états historiques de retour) ou partiellement (seul le code peut réorienter sans sauvetage pour les états).

Des informations complémentaires sur la performance ou les ressources nécessaires sont les bienvenues mais facultatives.


0 commentaires

7 Réponses :


-1
votes

Je n'ai jamais utilisé de débogueur avec la capacité de reculer. Je viens de faire une recherche Google et je n'ai pas beaucoup trouvé ...

J'ai trouvé ceci: http://video.google.com/videoplay?docid=3897010229726822034

Recherche de "Bill Lewis Debugger" m'a amené à: http://undo-software.com/undodb_about.html

La possibilité de monter en arrière implique de préserver beaucoup d'état: si vous modifiez une variable dans une ligne de code, vous souhaitez absolument reculer, probablement la variable doit revenir à sa valeur précédente. Si vous modifiez un registre, il devrait revenir à sa valeur antérieure, ce qui inclut le registre des drapeaux. Si vous avez alloué la mémoire, il devrait probablement être désactivé. Etc. C'est un gros travail en général. Il semble que ce débogueur utilise une technologie de copie-écriture pour faire tout cela. Je suppose que si une machine virtuelle comme VirtualBox est possible, c'est donc.

Ce n'est toujours pas une fonctionnalité traditionnelle. Une caractéristique que je avez couramment observée est la possibilité de "définir la ligne suivante". Dis que vous appelez une fonction et cela renvoie une valeur qui vous surprend; Vous définissez la "ligne suivante" sur la ligne avant la fonction, puis une seule étape dans la fonction. Le débogueur Microsoft Visual Studio peut le faire et peut donc GDB (la commande saut ). Cette capacité est d'une utilisation limitée si la fonction a corrompu la pile. Ensuite, vous devez vraiment recommencer!

Les ordinateurs ont été aussi rapides, il est beaucoup moins douloureux de recommencer dès le début qu'auparavant. Vous pouvez simplement définir un point d'arrêt avant le point où vous souhaitez revenir en arrière et réexécuter le programme depuis le début.


0 commentaires

0
votes

dr. Schéma, également appelé PLT Scheme , vous permettra de reculer et d'en avant dans un programme de régime. Soutien complet au maintien de l'état, autant que je sache, bien que je ne l'ai pas beaucoup utilisé. Exécute sur Windows, Mac et Linux.


0 commentaires

7
votes

La nouvelle fonctionnalité de débogueur historique IntelliTrice Historique dans Visual Studio 2010 semble adapter ce que vous demandez. Voir Débogage avec IntelliTrace :

Débogage avec intelligrace, disponible Dans Microsoft Visual Studio 2010 Ultimate, fournit une image améliorée de votre application par rapport à Detcrangeurs traditionnels. Traditionnel Les debuggers vous montrent l'état de votre application à l'heure actuelle avec informations limitées sur les événements qui eu lieu dans le passé. Vous devez soit déduire des événements survenus dans le passé, basé sur l'état de votre application à l'heure actuelle, ou redémarrer l'application pour recréer événements passés. Avec intelligrace, vous peut réellement voir des événements survenus dans le passé et le contexte dans lequel ils se sont produits. Cela réduit le nombre des redémarrages nécessaires pour déboguer votre application et la possibilité qu'une erreur ne parviendra pas à reproduire Lorsque vous remédez à l'application.


0 commentaires

7
votes


1
votes

chronon pour Java prend en charge la pleine étape et en voyant des informations d'état entières à tout moment.


0 commentaires

1
votes

PythonTor ( http://pythrontor.com/ ) vous permet de le faire pour les petits exemples de code dans plusieurs programmations Langues.


0 commentaires