Home
Soft-ICE Guide de l`utilisateur.
Contents
1. Les commandes MAP et WARN peuvent ne pas fonctionner correctement sous un syst me d exploitation non DOS mais les points d arr t et les commandes de d bugging fonctionneront correctement Pour d bugger avec des symboles ou un source vous devez charger les fichiers de symboles et les fichiers source tandis que vous tes encore sous DOS ou dans le mode compatible DOS de votre syst me d exploitation APPENDICE A LISTE DES COMMANDES FONCTIONNELLES Commande Description Positionnement des points d arr t BPM BPR BPIO BPINT BPX CSIP BPAND Positionne un point sur un acc s m moire ou une ex cution Positionne un point d arr t sur un domaine m moire Positionne un point d arr t sur un acc s un port 1 0 Positionne un point d arr t sur une interruption Positionne ou retire un point d arr t ex cution Set CS IP range qualifier Attend l arriv e de plusieurs points d arr t Manipulation des points d arr t BD D sactive un point d arr t BE Active un point d arr t BL iste les points d arr t BPE Edite un point d arr t BPT Utilise un point d arr t comme template BC Efface les points d arr t Commandes d dition et d affichage U D sassemblage d instructions R Affiche ou modifie un registr MAP Affiche la carte m moire du syst me D Affiche la m moire E Edite la
2. mettre un drapeau OFF faire pr c der le symbole de ce drapeau par un signe moins Les drapeaux peuvent tre num r s dans nimporte quel ordre Exemples R AH 5 Cette commande positioonne le registre AH 5 R FL OZP Cette commande bascule la valeur des drapeaux O Z et P R FL Cette commande affiche les valeurs actuelles des drapeaux et permet leur changement RFO FA S Cette commande inverse la valeur du drapeau O positionne la valeur du drapeau A sur 1 et celle du drapeau C sur 0 MAP MAP Affiche une carte de la m moire syst m Syntaxe MAP Commentaires La commande CARTE affiche les noms les emplacements et les tailles des composants de la m moire syst me La taill st exprim en paragraphes Un paragraphe est quivalent 10H octets Le composant point par le CS IP est affich en surbrillance Employer la commande MAP quand Un point d arr t survient et CS IP n est pas dans une r gion connue de la m moir Vous voulez obtenir le contr le d un programme r sidant ou d un programme syst me Un point d arr t domaine peut tre positionn bas sur la taille et l adresse de d but affich e par MAP Vous soup onnez un composant du syst me ou un programme d crire sur le code hors de son space m moire MAP est employ e obtenir l adresse de m moire de la r gion utiliser avec la commande CSIP Vous souhaitez trouver quel prog
3. DB H1 P3 0 Cette commande affichera les octets de la page 3 du gestionnaire 1 en commen ant au d calage 0 La commande C doit tre pr cis e de la fa on suivante C Hhandle Ppage offsetl L longueur offset2 o handle et page sont les m mes que ci dessus offsetl est un nombre de 0 4000H pr cisant le d calage depuis le d but de la page o le premier bloc de donn es devant tre compar es est situ offset2 est un nombre de 0 4000H pr cisant le d calage depuis le d but de la page o le deuxi me bloc de donn es devant tre compar es est situ Exemple C H2 P4 00 L10 1000 Cette commande comparera les 10 premiers octets de m moire situ s au d calage 0 de la page 4 du gestionnaire 2 avec les 10 premiers octets de m moire situ s au d calage 1000 de la page 4 du gestionnaire 2 Note Les occurences suivantes des commandes D E S F et C continueront utiliser le gestionnaire et la page pr cis s en dernier Pour revenir la m moire conventionnelle utilisez l une des commandes ci dessus avec un segment pr cis dans le champ adresse par exemple D 0 0 11 5 D bugging en m moire tendue A Les commandes D E S F t C peuvent modifier la m moire tendue La m moire tendue r serv e par Soft ICE ne pas tre affich e La syntaxe de ces commandes est similaire celle des commandes qui sont
4. NOTE Soft ICE ne fonctionne pas avec les programmes en mode r el Il ne fonctionne pas avec les programmes utilisant les instructions du mode prot g des 80286 et 80386 1 2 Utilisation de ce Manuel Le manuel de Soft ICE est divis en quatre sections principales Apprentissage de Soft ICE Section I Commandes Section II Carat ristiques Section III Fonctions Avanc es Section IV Soft ICE peut tre utilis pour beaucoup de probl mes de d buggage apr s lecture de le section I Apprentissage de Soft ICE et un peu d exp rimentation L aide en ligne de Soft ICE peut tre utilis e pour la description des commandes et leur syntaxe La section Apprentissage de Soft ICE contient des instructions d installation une description de l interface utilisateur et un didacticiel e didacticiel est destin vous former rapidement La section Commandes d crit toutes les commandes de Soft ICE Les descriptions de commandes sont organis es par groupes fonctionnels avec un index alphab tique de r f renc La section Caract ristiques recouvre les options avanc es de chargement le d bugging source et symbolique et les possibilit s EMM 4 0 La section Fonction Avanc es recouvre des sujets tels qu l utilisation de Soft ICE avec des pilotes de p riph riqu t son utilisation avec des syst mes d exploitation non DOs Tout
5. Si vous voulez revenir votre d bugger apr s avoir atteint un point d arr t vous devez changer ACTION voit la section 5 4 pour travailler avec votre d bugger Dans la plupart des cas l action qui doit tre utilis e apr s qu un point d arr t soit atteint est INT3 Par exemple DEBUG et SYMDEB fonctionnent avec ACTION r gl sur INT3 Si INT3 ne fonctionne pas avec votre d bugger essayez INTI ou NMI CODEVIEW fonctionne avec ACTION r gl sur NMI 11 1 3 Consid rations Sp ciales Quand un point d arr t est positionn vous devez prendre garde n pas le d sactiver par m garde Par exemple si vous tablissez un point d arr t m moire 0 0 puis utilisez votre d bugger pour visualiser l emplacement m moire 0 0 Soft ICE sera activ Si ACTION est positionn pour activer votre d bugger alors votre d bugger sera d clench par lui m me Comme certains d buggers ne sont pas r entrants cela peut tre un probl me fatal Ce probl me peut aussi survenir avec d autres fonctions de d bugging comme l dition ou le d sassemblag Pour cette raison il est pr f rable de d sactiver les points d arr t Soft ICE lorsque Soft ICE vous a aid atteindre le point que vous vouliez examiner avec votre d bugger 11 1 4 Utilisation de Soft ICE avec CODEVIEW Soft ICE travaille mieux avec CODEVIEW quand CODEVIEW est en mode assembl
6. param tre de ligne de commande V dans Soft ICE 1 X EXTENDED l option EXTENDED force Soft ICE se charger directement en m moire tendue sans message d avertissement pour l utilisateur Il doit tre employ si vous chargez Soft ICE depuis le prompt du DOS et ne voulez pas tre averti Notez que l option EXTENDED au param tre de ligne de commande E dans Soft ICE 1 X 6 4 2 Affectations des touches de fonction st identiqu Une ou plusieurs commandes Soft ICE peuvent tre affect es toute touche de fonction au moment du chargement Voir la description de la commande FKEY dans la section 5 8 Commandes de personnalisation du D bugger pour une description de l affectation des touches de fonction de la ligne de commande de Soft ICE La syntaxe pour affecter une touche de fonction dans S ICE DAT est nom de la touche de fonction cha ne nom de la touche de fonction F1 F2 F12 cha ne La cha ne peut consister en toute commande Un exemple d affectatio F1 Cela affectera la comma sera Soft ICE valide et les caract res sp ciaux et Un est plac dans la cha ne pour rendre la commande invisible Un plac dans la cha ne signifie un retour de chariot La cha ne doit 2 D 100 t press segment tr ntour e de
7. programmes qui supportent les sp cifications EMM ou si vous devez backfiller votre m moire conventionnelle pour l tendre au del d 640K EMM tels que QEMM ou 386MAX ne coexisteront pas avec Soft ICE utilisez D autres programmes de contr le 386 qui fournissent des possibilit s Si vous ces programmes pour un support EMM ou du backfilling vous pouvez employer le gestionnaire EMM de Soft ICE leur place Activer les capacit s EMM de Soft ICE entra ne les mesures suivantes 1 Configure l environnement de m moir avec l utilitaire EMMSETUP EXE Cette utilitaire modifie S ICE EXE avec la carte des pages EMM d sir e 2 Ajouter le commutateur EMM votre ligne S ICE EXE dans votre CONFIG SYS Cela r serve une fraction de la m moire tendue pour la m moire pagin e Une ligne d exemple de CONFIG SYS qui r serve de la m moire pour EMM DEVICE S ICE EXE EMM 2048 Cela r servera 2 m ga octets de m moir tendue pour l usage de EMM Voir la section 6 3 Chargement S E oft ICE comme un Pilote de p riph rique pour des d tails de l installation de Soft ICE dans CONFIG SYS 3 Rebootez votre syst me 8 2 Configuration de l Environnement EMM Avant d installer S ICE EXE avec le commutateur EMM dans CONFIG SYS vous devez lancer
8. En premier nous cr ons la routine de calcul Pour les besoins de cet exemple nous assemblerons la commande directement en m moire avec l assembleur interractif de Soft ICE Pour cet exemple nous assemblerons arbitrairement la routine l emplacement 9000 0H Les s quences suivantes sont entr es dans Soft ICE A 9000 0 9000 0 CMP AX 3 9000 3 JNE 10 9000 5 CMP BX 4 9000 7 JNE 10 9000 A CMP CX 5 9000 D JNE 10 9000 F INT3 9000 10 IRET Maintenant que la routin st en m moire vous devez faire pointer un vecteur d interruption vers la routine Pour cet exemple nous prendrons arbitrairement INT 99H Pour placer 9000 0H dans le vecteur INT 99H entrez ED 0 99 4 9000 0 Positionner la coomande ACTION de telle fa on que Soft ICE appelle votre routine de calcul de point d arr t chaque point d arr t ACTION 99 Positionner 13HERE sur ON la routine de calcul peut activer Soft ICE quand les conditions surviennent 13HERE ON Maintenant vous devez positionner les points d arr t Pour cet exemple nous sommes justes int ress s quand les registres sont AX 5 dans un programme sp cifique et nous ne voulons pas d autre calcul Pour faire cela on emploie un point d arr t registre m moire lectur 3 BX 4 CX BPR segment d but offset segment fin offset Cela provoquera l appel de votre routine de calcul de point d arr t apr s l e
9. La commande BPE charge la description du point d arr t sur la ligne de commande pour la modification La commande peut alors tre dit n utilisant les touches d dition et revalid n pressant ENTREE Cette commande offre une m thode rapide pour modifier les param tres d un point d arr t existant Exemple BPE 1 Cette commande d place la description du point d arr t 1 dans la ligne d dition et efface le point d arr t 1 Presser la touche ENTREE r activera le point d arr t avec ses nouveaux param tres s il y a lieu BPT BPT Utilise un point d arr t comme mod le Syntaxe BT num ro du point d arr t Commentaire La commande BPT emploie une description de point d arr t comme mod le pour un nouveau point d arr t Une description du point d arr t existant est charg e sur la ligne d dition Le point d arr t r f renc par le num ro n est pas modifi Cette commande offre une m thode rapide pour cr er un nouveau point d arr t similaire un d j existant Exemple BPT 3 Cette commande d place un mod le du point d arr t 3 sur la ligne d dition Quand la touche ENTREE est press e un nouveau point d arr t est ajout BC BC Efface tous les points d arr t Syntaxe BC liste list Une s rie de num ros de points d arr t s par s par des virgules ou des espaces Efface
10. F B DAT la s quence de touches de d marrage en CTRL X Un exemple de fichier d initialisation S ICE DAT est inclus sur la disquette de distribution Cet xemple affecte les touches de fonction de la m me fa on que les touches de fonction dans le d bugger Microsoft CodeView Cet exemple S didacticiel du chapitre 3 IC E DAT peut aussi tr mploy tel quel pour le CHAPITRE 7 D bugging Symbolique et Niveau source 7 1 Introduction 7 2 Pr paration pour d bugging symbolique ou source 7 2 1 Pr paration pour d bugging symbolique seulement 7 2 2 Pr paration pour d bugging symbolique et source 7 3 R servation de m moire pour le fichier source et les symboles 7 4 Chargement des programmes et des fichiers symboles 7 5 D bugging avec des symboles 7 6 D bugging avec source 7 1 Introduction Soft ICE peut charger des programmes des tables de symboles et des fichiers source pour un d bugging am lior Le d bugging symbolique vous permet de positionner des points d arr t et des variables de r f rence avec des noms de symboles plut t qu en pr cisant des adresses num riques L d bugging niveau source vous permet d avancer dans votre programme au niveau du code source plut t que dans le code assembl Les num ros de ligne du source et les informations de symboles sont extraits du fichier MAP de linkage Le fichier MAP doit tre compatible av
11. SECTION III Caract ristiques CHAPITRE 6 Options d Initialization de Soft ICE 6 1 Introduction 6 2 Chargement depuis le prompt du DOS 6 3 Chargement de Soft ICE comme un pilote de p riph rique 6 3 1 Commutateurs de chargement de Soft ICE 6 4 Le fichier d initialisation S ICE DAT 6 4 1 Options de configuration 6 4 2 Affectations des touches de fonction 6 4 3 S quence de commandes d initialisation 6 1 Introduction _ Le programme Soft ICE S ICE EXE peut tre charg comme un pilote de p riph rique dans CONFIG SYS ou comme un programme depuis la ligne de commande DOS Pour exploiter Soft IC initialement comme un pilote de p riph rique dans CONFIG SYS Cependant il peut y avoir des circonstances o vous pourriez vouloir lancer Soft ICE depuis le prompt DOS ou dans un fichier BAT P4 au maximum il doit tre charg Vous n avez pas de m moire tendue dans votre syst me Soft ICE ne peut tre charg comme un pilote de p riph rique que si vous avez de la m moire tendu Vous ne voulez utiliser AUCUN octet de m moir conventionnelle Quand il est charg comme un pilote de p riph rique Soft ICE occupe peu pr s 2K de m moire conventionnelle Vous ne pensez employer Soft IC qu occasionnellement et vous avez pas d autres programmes utilisant la m moire tendue a E n Dans certains cas vous pouvez avo
12. Soft ICE d affecter un buffer en m moir tendue pour un buffer de trace arri re Ce buffer est aussi utilis pour la commande Soft ICE SNAP Activer les possibilit s EMM 4 0 de Soft ICE Faire tourner Soft ICE avec MagicCV ou MagicCVW Notes Quand il est charg comme un pilote de p riph rique dans CONFIG SYS Soft ICE affecte la zone la plus haute de m moire tendue pour lui m me et ses composants associ s afin qu il ne puisse y avoir aucun conflit de m moire Le fichier S ICE EXE doit tre charg dans CONFIG SYS avant tout autre pilote qui affecte la m moire tendue ex VDISK SYS RAMDRIVE SYS G n ralement Soft ICE travaille mieux s il est le premier pilote de p riph rique install dans CONFIG SYS 6 3 1 Commutateurs de chargement de Soft ICE Un ou plusieurs commutateurs de chargement peuvent suivre S ICE EXE dans CONFIG SYS Ces commutateurs vous permettent personnaliser la fa on dont la m moire tendue sera r serv e par Soft ICE Tous les commutateurs doivent commencer par le caract re Les commutateurs de chargement sont X EXT XXXX Demande S ICE EXE de r server XXXX kilo octets de m moire tendue pour d autres programmes DOS qui utilsent la m moire tendu ex VDISK CACHE HIMEM Si le commutateur EXT n est pas pr sent alors toute la m moire tendue que n emploient pas Soft ICE ou se
13. celle de l horloge CMOS README SI est un fichier texte contenant des informations ne figurant pas dans ce manuel SAMPLE EXE est un court programme de d monstration utilis par le didacticiel SAMPLE ASM est code source du programme de d monstration SAMPLE SYM est le fichier symbole du programme de d monstration 2 2 Chargement de Sott ICE Avant de lancer Soft ICE copiez tous les fichiers de la disquette de distribution sur votre disque dur Ces fichiers doivent tre disponibles dans votre PATH S ICE EXE peut tre charg comme un pilote de p riph rique dans votre CONFIG SYS ou peut aussi tre lanc comme un programme depuis la ligne de commande DOS Pour utiliser la plupart des possibilit s de Soft ICE il doit tre lanc comme un pilote de p riph rique dans votre CONFIG SYS Note Si vous n avez pas de m moire tendue Soft ICE ne peut PAS tre charg comme un pilote de p riph rique Il doit tre lanc depuis le prompt du DOS 2 2 1 Chargement sans M moire Etendue Quand il n y a pas de m moire tendue pr sente Soft ICE se charge dans l emplacement m moire le plus haut disponible La m moire utilis e par Soft ICE est ensuite cach e au DOS Malgr s que la m moire restant visible sous DOS soit inf rieure apr s le chargement de
14. charg 12 3 Routines d interruption Soft ICE permet des points d arr t et la trace dans les routines d interruption du syst me minuterie clavier etc La trace et la pose de points d arr t dans les routines d interruption du syst me est permis avec Soft ICE Vous pouvez tracer la routine d interruption du clavier tandis que Soft ICE utilise le clavier pour ses entr es Dans la plupart des cas Soft ICE doit tr mploy e tout seul quand quand vous d buggez les routines d interruption du syst me Pour positionner un point d arr t sur l adresse d une routine d interruption syst me utilisez une des m thodes suivantes 1 Utilisez la commande affiche double DD num ro interruption 4 L 1 L adresse affich e est l adresse de la premi re instruction de la routine d interruption syst me Positionnez un point d arr t d ex cution sur cette adresse 2 Utilisez la commande BPINT num ro interruption 12 4 Syst mes d exploitation non DOS Les syst mes d exploitation non DOS en mode d adressage r el peuvent tre d bugg s avec Soft ICE Si le syst me d exploitation n est pas vraiment compatible DOS vous devrez charger Soft ICE sous DOS et utiliser alors la commande BOOT pour lancer le syst me d exploitation non DOS Suivre les instructions pour d bugger les s quences de boot et les programmes auto bootables comme expliqu dans la section 12 2
15. Notez que the l extension SYM est pr cis e Cela chargera le fichier SYM et les fichiers sourc n m moire tendue Quand les symboles sont charg s par cette m thode vos symboles de pilote de p riph rique ou de programme sont suppos s tre r f renc s 0 0 Comme c est rarement le cas vous souhaiterez utiliser la commande Soft ICE SYMLOC pour reloger les symboles Voir la description de la commande SYMLOC dans la section 5 10 pour une description compl te Un exemple de chargement d un fichier symbole appel DRIVER SYM LDR DRIVER SYM 7 4 3 Chargement d un programme sans symboles ni source Pour charger un fichier programme sans charger les symboles associ s vous devez emp loyer LDR EXE sous la forme LDR nom programme extension Notez que l extension du fichier est pr sente L extension du fichier est EXE ou COM Quand une extension de fichier est pr cis e LDR EXE charge le programme et active Soft ICE avec le pointeur d instructions sur la premi re source instruction du programme Un exemple de chargement d un programme avec des symboles et le DR TEST Notes LDR EXE sauve automatiquement une copie de la table des vecteurs d interruption quand il charge votre programme Cel quivaut ex cuter la commande VECS S Si vous tes amen s sortir de votre programme avant son ach ve
16. cran graphique Exemple RS CLS CLS Effacement de la fen tr Syntaxe CLS Commentaires La commande CLS efface la fen tre Soft ICE et d place le prompt et le curseur dans le coin sup rieur gauche de la fen tr Exemple CLS ALTSCR ALTSCR Changement d cran Syntaxe ALTSCR ON OFF Commentaires La commande ALTSCR vous permet de rediriger les sorties cran de Soft ICE de votre cran par d faut l cran altern Cette caract ristique est utile par exemple quand vous voulez d bugger un programme graphique sans devoir changer entre la fen tre Soft ICE et l affichage graphique ALTSCR n cessite que le syst me ait deux moniteurs connect s Le moniteur altern doit tre en mode caract re qui est le mode par d faut pour les moniteurs Le mode par d faut de ALTSCR est OFF Exemple ALTSCR ON Cette commande redirige les sorties cran vers le moniteur altern WIN WIN Change la taille de la fen tre Soft ICE Syntaxe WIN N W d but rang e longueur d but colonne N Quand N est pr cis la fen tre est mise la largeur troite 46 caract res W Quand W est pr cis la fen tre est positionn e la largeur plein cran d but rang Nombre de 0 17 pr cisant la rang e o d bute l affichage de la fen tr longueur Nombre
17. l instruction suivant lL INT3 alors vous pouvez continuer d bugger Si aucun param tre n est pr cis l tat actuel de 13HERE est affich Le mode par d faut de 13HERE OFF Exemple 13HERE ON Cette commande met le mode 13HERE sur ON Toute INT3 g n r e apr s ce point activera la fen tre Soft ICE 5 5 Commandes Utilitaires Commandes A Assembler le cod S Rechercher des donn es F Remplir la m moire avec des donn es M D placer des donn es Comparer deux blocs de donn es A A Assembler le cod Syntaxe A adresse Commentaires L assembleur de Soft ICE vous permet d assembler des instructions directement en m moire L assembleur supporte les instructions fondamentales du jeu 8086 avec les extensions d adressag n mode r el des 80186 et 80286 Les instructions des coprocesseurs arithm tiques et les instructions 80386 registres et modes d adressage sp cifiques NE peuvent pas tre assembl es La commande A entre dans l assembleur interactif de Soft ICE Une adresse est affich e comme prompt pour chaque ligne assembl e Apr s qu une instruction d assembleur soit entr t que ENTREE soit press e les instructions sont assembl es en m moire l adresse pr cis e Les instructions doivent T tre entr es au format Intel stand
18. tendu st en service au moment ou vous d chargez Soft ICE ceci plantera votre syst me 2 4 Recharger Soft ICE Soft ICE peut tre recharg nimporte quand s il avait t initialement charg depuis le fichier CONFIG SYS Si Soft ICE avait t initialement charg depuis le fichier CONFIG SYS les options de configuration originales sont conserv es EMM 4 0 symboles et source Pour recherger Soft ICE entrez ti CHAPITRE 3 D bugger En 30 Minutes 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 8 3 9 3 21 3 1 Introduction Activation de la fen tre Sortie de la fen tre Changement de taille de la fen tre D placement de la fen tre Touches d dition de ligne Ligne d tat interactive Syntaxe des Commandes 1 Sp cification d Adresses M moire Touches de Fonction 1 Didacticiel 3 1 Introduction Toutes les interactions avec Soft ICE prennent place dans une fen tre qui peut tre activ e tout moment Toutes les commandes de Soft ICE s inscrivent dans une petite fen tre mais qui peut tre agrandie jusqu au plein cran si n cessaire Vous utiliserez normalement la petite fen tre lorsque vous emploirez Soft ICE avec un autre d bugger et la grande fen tre lorsque vous l emploirez tout seul La fen tre est normalement ouverte plein cran si vous avez utilis le fichier de configuration S ICE DAT inclus sur la disquette de dist
19. Cela vous permet de retrouver le flux de programme Par exemple vous pouvez ex cuter pas pas la s quence d instructions dans le buffer en commen ant l instruction pr cis e par la commande TRACE en entrant XT XT XT La commande XT trace pas pas dans le buffer de trace arri re La commande XP trace dans le buffer de trace arri re La commande XG va une adresse dans le buffer de trace arri r Pour sortir du mode simulation de trac ntrez TRACE OFF Pour remettre 0 le buffer de trace arri re utilisez la commande X 9 3 Notes sp ciales Lorsque vous tres en mode simulation de trace beaucoup de commandes Soft ICE fonctionnent comme d habitude y compris lorsqu on affichez la carte m moire ou lorsque l on dite des donn es Les exceptions sont 1 L information de registre n est pas sauv e dans le buffer de trace arri re donc les valeurs des registres ne changent pas lorsque vous tracez dans le buffer l exception de CS et de IP 2 Les commandes qui provoquent normalement la sortie de Soft ICE ne fonctionnent pas dans le mode simulation de trace Ce sont X T P G EXIT Pendant que vous lisez des instructions dans le buffer de trac arri re avec les commandes TRACE et SHOW vous pouvez constater des singularit s dans l ex cution des instructions Elles sont caus es par des sauts dans et hors du domaine
20. Commentaires La commande BPIO vous permet de positionner un point d arr t sur les lectures ou les critures sur les ports I O Si valeur est pr cis e ell st compar e avec les donn es r elles lues ou crites par l instruction IN ou OUT causant le point d arr t La valeur peut tre un octet ou un mot Si le port I O est un port 8 bTEs alors les 8 bits de poids faible sont employ s dans la comparaison Le pointeur d instruction CS IP pointera sur l instruction apr s le IN ou le OUT qui a caus le point d arr t Si un verbe n est pas pr cis RW est la valeur par d faut Exemple BPIO 21 WN E3 FF Cette commande positionne un point d arr t sur un acc s un port T70 Le point d arr t surviendra si un des registres de masque du contr leur d interruptions est crit avec une valeur autre que FFH BPIO 3FE R EQ M 11XX XXXX Cette commande d finit un point d arr t octet sur une lecture d un port I O Le point d arr t surviendra la premi re fois que le port I O 3FE sera lu avec une valeur qui a les deux bits de poids fort 1 Les autres bits peuvent prendre toute valeur BPINT BPINT Positionne un point d arr t sur une interruption Syntaxe BPINT num int lt AL AH AX gt valeur C compte num int Num ro de l Interruption de 0 FFH valeur Un octet ou un mot Commentaire La commande BPINT permet d intervenir dans l ex cution d une
21. Soft ICE is loaded vous renseigne sur la zone exacte de m moire occup e par Soft ICE et ses composantes Si vous poss dez un Compaq ou une machine compatible avec Compaq et si vous avez inclus le mot COMPAQ dans votre fichier S ICE DAT vous verrez aussi un message disant Using high memory from XXXXXXXX to 00FE0000H La ligne suivante vous indique combien de place a t r serv e pour les symboles Cette plac st utilis e pour les symboles et les fichiers source La ligne suivante vous indique combien de place a t r serv e pour l historique de trace arri re La valeur par d faut est 10K Cette place est utilis e par la commande SNAP et la commande BPR avec les options T ou TW La derni re ligne vous indique combien de m moire reste disponible en tant que m moire tendue Cette m moire peut tre utilis e par les autres programmes tels HIMEM SMARTDRIVE VDISK etc Positionnez vous dans le r pertoire ou vous avez copi les fichiers de votre disquette de distribution Souvenez vous que ce r pertoire doit figurer dans votre PATH Avant de nous lancer dans le d bugging faisons apara tre la fen tre Soft ICE et familiarisons nous avec Effacons l cran en tapant CLS Affichons la fen tr n pressant CTRL D is La fen tre de Soft ICE est maintenant l cran Si votre fichier S ICE DAT a t trouv la fen tre occupe l cran
22. Soft ICE n est pas d j en mode NARROW utilisez la commande WIN pour changer la taille de la fen tr D placer la fen tre Soft ICE fen tre pour pouvoir voir l adresse d instruction sur le c t gauche de l cran Maintenant vous pouvez utilier la commande Soft ICE G pour aller l une des adresses Soyez s r de taper l adress nti re segment et d calage Entrer alors G dans la fen tre CV ce point CV n est pas actif et vous pouvez employer les commandes Soft ICE T ou P pour balayer le programme cible La commande SHELL de CodeView Si vous utilisez le DOS Shell dans la machine virtuelle de CodeView le DOS Shell fait partie de la machine virtuelle cause de cela vous ne devez pas lancer de T amp SR depuis le DOS Shell Si vous le faites quand vous sortez de CodeView le T amp SR dispara tra avec la machine virtuelle C est dangereux parce que nimporte quel vecteur d interruption non restaur pourrait planter votre machine Le commutateur R de CV Soft ICE tire parti de beaucoup des caract ristiques du 80386 incluant les registres de d bugging du 80386 Cela signifie que les registres d d bugging ne sont pas disponibles pour CV et vous ne pouvez pas employer le commutateur R de CV quand quand Soft ICE fonctionne Si vous employez le commutateur R Soft ICE vous
23. droite lt d placer curseur gauche INS Basculer en mode insertion DEL Effacer le caract re courant HOME D placer curseur au d but de la ligne END D placer curseur la fin de la ligne E Affiche la commande pr c dente es Affiche la commande suivante SHIFT _ Scrolle l affichage une ligne vers le haut SHIFT _ Scrolle l affichage une ligne vers le bas PAGE UP Scrolle l affichage une page vers le haut PAGE DN Scrolle l affichage une page vers le bas BKSP Efface le caract re pr c dent ESC Annule la commande courante APPENDICE D Messages d Erreur et Descriptions Cet appendice list g n r s par Soft IC xpliqu les messages d erreur pouvant tre ti A General Protection Violation Has Occurred This is typically caused by a protected mode instruction CS IP XXXX XXXX Type C to Continue Type R to Return to Soft ICE The message arrive quand une instruction du mode prot g du 80386 est rencontr e ou s il se produit un chevauchement de segments Vous pourrez souvent d terminer la cause de ce messag n d sassemblant l instruction l adresse sp cifi le premier octet de l instruction est OFH Si il s agit probablement d une instruction du mode prot g Si l instruction tente d acc der un mot l offset OFFFFH dans un segment il s agit alors d un probl me de chevauchement Si vous entrez C pour continuer le contr le est pass au gestionnaire de l
24. pas correctement dans la ROM Un message d erreur sera affich si cel est tent Exemple HERE Cet exemple positionne un point d arr t d ex cution la position courante du curseur puis quitte Soft ICE et commence l ex cution au CS IP Touche de fonction par d faut F7 GENINT GENINT Force une interruption Syntaxe GENINT INT1 INT3 NMI num interruption num interruption un nombre dans la gamme 00 FF Commentaires La commande GENINT force une interruption survenir Cette fonction peut tre employ e pour donner le contr le un autre d bugger si vous utilisez Soft ICE avec un autre d bugger Elle peut aussi tr mploy e pour tester des routines d interruption La commande GENINT simule la s quence de traitement d une interruption mat rielle ou d une instruction INT Elle pousse sur la pile les drapeaux le registre CS et le registre IP elle change alors la valeur de CS et de IP par les valeurs correspondantes dans la table des vecteurs d interruption avec le num ro d interruption pr cis Exemple GENINT NMI Cela force une interruption non masquable Cela donnera le contr le CodeView si Soft ICE est employ comme un assistant CodeView EXIT EXIT Force la sortie du programme DOS actuel Syntaxe EXIT R D R Restaurer la table des vecteurs d interruption
25. 500K pour la m moire pagin e et laisse peu pr s 1 3 m ga octets pour autres programmes utilisant la m moire tendue Notez que Soft ICE se chargera dans la zone la plus haute de m moire tendue en laissant le reste la m moire commen ant 100000H un m ga octet 6 4 Le fichier d initialisation S ICE DAT Soft ICE a plusieurs options de chargement Ces options sont pr cis es en pla ant des ordres sp ciaux dans un fichier d initialisation nomm sS ICE DAT S ICE DAT est un fichier texte ASCII que Soft ICE parcourt au moment du chargement Ce fichier peut contenir des affectations de touches de fonction une cha ne d auto d marrage et diverses options de configuration Le fichier peut tre cr et dit avec tout traitement de texte DOS Quand on charge Soft ICE depuis la ligne de commande S ICE DAT doit tre plac dans le r pertoire actuel ou dans un r pertoire qui est accessible par votre PATH actuel Quand Soft ICE est charg e comme un pilote de p riph rique dans CONFIG SYS S ICE DAT doit tre dans le m me r pertoire que S ICE EXE Il y a trois cat gories d ordres qui peuvent tre inclus dans le fichier S ICE DAT Les options sp ciales de configuration Les affectations de touches de fonction Une s quence de commandes d initialisation 6 4 1 Options Sp ciales De configuration
26. CS MOV BYTE PTR 13 0 Jed s exclame Il est l Je savais que le probl me tait dans les routines de Jake Cette instruction d criture dans le segment de code met un octet 0 dans mon code Qui peut se douter du r sultat Entrez U 0 L emplacement 13H est en fait l offset d une instruction de saut conditionnel L offset relatif du saut conditionnel est ainsi mis 0 Maintenant nous allons voir comment ce probl me peut tre r solu en utilisant Soft ICE tout seul Nous devons tout d abord quitter DEBUG Avant de quitter le d bugger il est toujours souhaitable de d sarmer tous les points d arr t moins que ACTION soit positionn sur HERE Si vous ne le faites pas et qu un point d arr t se produise ACTION va tenter de r activer un d bugger qui n est plus en m moire 1l r sultat est impr visible Nous avons positionn ACTION sur INT3 nous allons donc d sarmer le point d arr t Pour afficher la fen tre pressez ALT D Listez les points d arr t en entrant BL Remarquez que la ligne contenant la description du point d arr t est en surbrillance Le point d arr t en surbrillance est le dernier s tre produit Notez que le point d arr t porte le num ro 0 Pour d sarmer le point d arr t num ro 0 entrez BD 0 Listez les points d arr t nouveau en entrant BL L ast risque apr s le num ro du point d arr t montre que le point d a
27. Chacune des options suivantes de configuration qui pourraient tre n cessaire doivent chacune tre plac e sur une ligne diff rente dans le fichier S ICE DAT COMPAQ Les ordinateurs Compaq 386 et 386SX et quelque ordinateurs compatibles Compaq y compris des ordinateurs contenant des cartes m re Micronix ont 384K de m moire tendue non contig e L option COMPAQ est n cessaire si vous voulez que Soft ICE mploie cette m moire Notez que l option COMPAQ est identique au param tre de lign de commande C dans Soft ICE 1 X NOLEDS L option NOLEDS indique Soft ICE ne pas allumer ni teindre les LEDS du clavier pendant que la fen tre Soft ICE est activ e Certains claviers ont des probl mes de temporisation qui provoqueront des pertes de synchronisation avec le clavier Si Soft IC s arr te quand vous tes dans sa fen tre mployez cette option Notez que l option LJ T CI NOLEDS est identique au param tre de ligne d commande L dans Soft ICE 1 X NOTVGA L option NOTVGA permet Soft ICE de fonctionner sur cartes compatibles BIOS seulement Beaucoup de cartes pas compatibles avec le VGA IBM au mat riel Ces cartes supportent le niveau BIOS seulement Employez ce si vous avez un de ces adaptateurs VGA au niveau VGA ne sont niveau VGA au commutateur vid o Notez que l option NOTVGA est identique au
28. D Effacer tous les points d arr t Commentaires La commande EXIT essaie de terminer le programme actuel en for ant une fonction DOS de sortie INT 21H fonction 4CH Cette commande ne fonctionnera que si le DOS est dans un tat o il est capable d accepter l appel de cette fonction de sortie Si cet appel est fait depuis certaines routines d interruption ou quand le DOS n est pas pr t le syst me peut se comporter de fa on impr visible Cette fonction NE remet aucun syst me z ro sinon les tables d interruption quand l option R est employ e Cela signifie que variables BIOS mode vid o et autres donn es syst mes ne sont pas restaur s Utiliser l option R restaurera les vecteurs d interruption leur derni re valeur sauvegard e Soft ICE sauvegarde les vecteurs d interruption quand il est charg quand un programme est charg avec LDR EXE et quand la commande VECS S est employ e Notes Pour red marrer un programme qui a t charg avec LDR EXE proc der ainsi EXIT R LDR prog ExXE La commande EXIT restaurera la table d interruptions aux valeurs qu elle contenait avant que le programme ne soit charg puis quittera le programme Avec l utilitaire LDR et en pr cisant le suffixe EXE le programme est charg sans rechargement des symboles et du source Les symboles et le source restent en m
29. La commande BPAND permet de pr ciser deux ou plusieurs points d arr t qui doivent survenir avant que l action se d clenche Cette fonction permet de d finir des conditions de point d arr t plus complexes Chaque fois que la commande BPAND est employ e les num ros de points d arr t pr cis s sont ajout s la liste jusqu ce que BPAND OFF soit employ Vous pouvez savoir quels points d arr t sont li s avec la commande AND en listant les points d arr t avec la commande BL Les points d arr t li s par la commande AND auront un ampersand amp apr s leur num ro Une fois que des points d arr t ont t li s avec AND chacun reste li par AND jusqu ce qu il soit effac ou jusqu ce que BPAND soit mis OFF Exemple BPAND 0 2 3 Cette commande force les conditions des points d arr t 0 2 et 3 tre logiquement li es ensemble Le point d arr t survient seulement quand les conditions de tous les trois sont r unies Par exemple si les conditions des points d arr t 2 et 3 ont toutes les deux t rencontr es au moins une fois chacune mais que les conditions du point d arr t 0 n ont pas encor st rencontr es alors l action ne surviendra pas tant que les conditions du point d arr t 0 ne seront pas rencontr es 4 3 Manipulation des points d arr t Soft ICE fournit plusieurs commandes pour manipuler des points d arr t Les commandes de manipulation per
30. Soft ICE il est recommand de charger Soft ICE avant tout TSR ou programme de contr le Si vous n avez pas de m moire tendue entrez simplement S ICE 2 2 2 Chargement avec M moire Etendue zl Le chargement de Soft ICE avec de la m moire tendue peut se fair d une des deux fa ons suivantes 1 Installer S ICE EXE comme un pilote dans le fichier CONFIG SYS Cette m thod st n cessaire si vous souhaitez utiliser une des possibilit s suivantes Partage de la m moire avec des programmes utilisant la m moire tendu par le biais d appels la ROM BIOS VDISK SYS RAMDRIVE SYS HIMEM SYS programmes de cache etc Utiliser le potentiel EMM 4 0 de Soft ICE Utiliser Soft ICE pour le d buggage source ou symbolique Utiliser la trace arri re Utiliser Soft ICE avec d autres produits Nu M ga tels MagicCV Quand il est charg comme un pilote Soft IC s alloue une portion de m moire tendue pour lui m me et pour ses fichiers annexes de tell sorte qu il n y ait pas de conflit m moire S ICE EXE doit tre charg depuis CONFIG SYS avant tout autre driver allouant de la m moire X x CO tendue ex VDISK SYS RAMDRIVE SYS En g n ral Soft ICE fonctionne mieux s il est premier pilote i Pour les utilisateurs novices nstall par CONFIG SYS il est conseil le
31. au long de ce manuel particuli rement dans le didacticiel et dans la section consacr e aux commandes des exemples sont donn s qui imposent de fournir Soft ICE des donn es Quand les instructions vous demandent de presser une touche par exemple la touche vous devez presser la touche marqu e Quand les instructions vous demandent d entrer une phrase telle que WIN vous devez entrer les lettres cit es puis presser la touche ENTER 1 3 Mat riel N cessaire Soft ICE fonctionne avec les IBM S ries II Mod le 70 et 80 Compaq 80386 et les ordinateurs base de 80386SX les compatibles AT et les cartes co processeur 80386 Soft ICE ne fonctionne avec les co processeurs 80386 XT que s ils sont compatibles AT Soft ICE fonctionne mieux avec de la m moire tendue mais fonctionne correctement avec de la m moire conventionnelle Soft ICE n utilise ni DOS ni le BIOS pour ses affichages vid o ni pour ses entr es clavier Malgr s ce la vid o doit tre compatible avec l un des syst mes suivant MDA Hercules CGA EGA VGA Soft ICE supporte aussi les configurations deux moniteurs ce qui peut tre tr s utile pour les programmes faisant un usage intensif de la vid o SECTION I Apprentissage de Soft ICE CHAPITRE 2 D but 2 1 Les Disquettes 2 2 Chargement de Soft ICE 2 2 1 Chargement sans M moire Etendue 2 2 2 Chargement a
32. commande TRACE dans cette section pour plus d information sur les domaines de trace arri r Astuce Si vous utilisez XT fr quemment comme toute autre commande Soft ICE elle peut tre affect e une touche de fonction Exemple XT Cette command x cute une seule instruction en mode simulation de trace XP XP saut dans le programme en mode simulation de trace La syntaxe XP Commentaires La commande XP fait un pas logique dans le programme dans le buffer de trace arri re Cette commande agit comme la commande P pour le d bugging normal Notez que les registres NE changent pas en ex cutant les instructions sauf CS et TPs L instruction XP vous permet de rejouer des instructions du buffer de trace arri re Note Avant d utiliser XP vous devez tr n mode simulation de trace Voir le chapitre 9 et la commande TRACE dans cette section pour plus d information sur les domaines de trace arri r Astuce Si vous utilisez XP fr quemment comme toute autre commande Soft ICE elle peut tre affect e une touche de fonction Exemple XP Cette commande ex cute un pas de programme en mode simulation de trace XG XG Va une adress n mode simulation de trace Syntaxe XG R adresse R Recherche l adresse en direction inverse adress Adresse atteindre dans le buffer de trace arri r Commentaires La commande XG d place
33. de 8 25 pr cisant de combien de combien de lignes vous voulez la fen tre d but colonne position de la colonne gauche de la fen tr troite D but rang t d but colonne pr cisent le coin sup rieur gauche de la fen tr troite D but colonne est ignor s il est appliqu la fen tre large Commentaires La commande WIN vous permet modifier la largeur et la hauteur de la fen tre Soft ICE Si aucun param tre n est pr cis cette commande bascule la fen tre entre l affichage troit et l affichage large Si la commande WIN est pr cis avec seulement le param tre N ou W la taille de fen tre sera chang e la largeur demand t la hauteur actuelle Si le nombre de lignes plus le num ro de la rang e de d part est plus grand que 25 la fen tre va jusqu au bas de l cran Le mode par d faut de WIN est NARROW Exemples WIN N 4 9 30 Cette commande force l affichage commencer la rang e 4 et la colonne 30 et tr haut de 9 lignes et large de 46 caract res WIN Cette commande bascule la largeur de la fen tr de son tat actuel large ou troit l tat contraire WIN W 10 8 Cette commande force la fen tre commencer la colonne 10 et tre haut de 8 lignes et de toute la largeur de l cran 5 10 Commandes symboles et ligne source Commandes SYM Affiche Positionne les symboles SYMLOC D pla
34. de ces fen tres peut tre ouverte ou ferm e tout moment Les fen tres cod et donn es peuvent tre de taille variable la fen tre registr st de taille fixe Les fen tres restent toujours dans un ordre fix En partant du sommet de l cran l ordre st fen tre registre fen tre donn es puis fen tre code WR WR Bascule la fen tre registr Syntaxe WR Commentaires La commande rend la fen tre registre visible si elle est actuellement invisible Si la fen tre registr st actuellement visible WR l efface La fen tre registre affiche le jeu de registres du 8086 et les drapeaux du processeur Touche de fonction par d faut F2 WC WC Bascule r gle la taille de la fen tre cod Syntaxe WC taille fen tre taille fen tre un nombre d cimal entre 1 et 21 Commentaires Si taille fen tre n est pas pr cis e cette commande bascule la fen tre code Si elle n tait pas visibl 11 st rendue visible et si elle tait visible 11 st effac Si taille fen tr st pr cis e la taille de la fen tre cod st modifi e ou si elle n tait pas visibl 11 st rendue visible avec la taille pr cis e Note Si vous d sirez d placer le curseur dans la fen tre cod mployez la commande EC Voir la description de la commande EC pour plus de d tails Exemple WC 12 Si aucune
35. de l assembleur Remarquez dans la fen tre de code l instruction NOP la place de CS l offset 003BH Pressez la touche F3 pour revenir en mode source le code source n est bien sur pas modifi Pressez ALT D pour lancer le programme corrig Entrez des espaces et quelques autre touches Ca marche Vous avez corrig le bug Pour sortir du programme de Jed et revenir sous DOS pressez CTRL C Nous allons maintenant d couvrir une autre caract ristique de Soft TC Entrez LDR SAMPLE EXE Ceci recharge une fois encore le programme exemple Entrez RIP HANG_EXAMPLE Les deux premi res instructions affich es sont CLI JMP Remarquez que l instruction de saut pointe sur elle m me Cett boucle infinie plante normalement le syst m Entrez BREAK ON Vous venez d activer le mode BREAK Le mode BREAK fait tourner le syst me un peu mois vite mais permet Soft ICE de reprendre la main m me si le syst me est bloqu Quittez Soft ICE en pressant ALT D Votre syst me est maintenant bloqu Pour les incr dules tapez CTRL ALT DEL Il ne se passe rien C est d finitivement bloqu Maintenant pressez ALT D La fen tre de Soft ICE est de retour Pour quitter la boucle sans fin entrez EXIT RD Vous tes maintenant nouveau sous DOS Faites quelques DIR pour bien vous rendr
36. distribution pour tous les trucs de d pannage ne figurant pas dans ce manuel L heure n est pas correcte la fin de la journ e Soft ICE ne laisse passer aucune interruption vers le syst me lorsque sq fen tr st affich e Ceci n affecte pas l horloge temps r el et tout rentrera dans l ordre au prochain reset de votre machine Vous pouvez aussi corriger l heure en lan ant le programme UPTIME Il prend l heure dans l horloge temps r el et appelle le DOS pour remettre l heure jour En d buggant un programme qui utilise de l EMS et de l EEMS vous obtenez ce message d erreur quand vous essayez de charger Soft ICE Soft ICE cannot run with other 80386 control programs Certains syst mes 80386 sont livr s avec un programme de contr le qui utilise le syst me d pagination du 80386 pour vous fournir de l EMS et de l EEMS avec une carte qui ne comporte que de la m moire tendue Le 80386 ne permet l ex cution que d un seul programm n mode prot g la fois et donc Soft ICE ne peut pas cohabiter avec d autres programmes de contr le Vous pouvez naturellement utiliser une vraie carte de m moire pagin e pour d bugger des programmes utilisant de l EMS et de l EEMS i Soft ICE n arrive pas interrompre votre d bugger Certains debuggers soft ne fonctionnent correctement qu avec un se
37. est situ Exemple C H2 P4 00 L10 1000 Cette commande comparera les 10 premiers octets de m moir situ s au d calage 0 de la page 4 du handle 2 avec les 10 premiers octets de m moire situ s au d calage 1000 de la page 4 du handle 2 m Note Les emplois suivants des commandes D continueront employer le handle et la page pr cis s en dernier Pour revenir la m moire conventionnelle utilisez un des ordres ci dessus avec un segment pr cis dans le champ adresse par exemple r Sr EpIet C D 0 0 CHAPITRE 9 Les domaines de trace arri re 9 1 Introduction 9 2 Utilisation des domaines de trace arri re 9 3 Notes sp ciales 9 1 Introduction Soft ICE peut enregistrer les informations d instructions dans un buffer de trace arri re pendant que votre programme s ex cute Ces instructions peuvent alors tre affich es apr s qu un bug se soit produit Cela vous permet de remonter en arri r t de retracer l action d un programme pour d terminer le flux r el d instructions pr c dant un point d arr t Les informations d instructions sont recueillies sur des acc s dans un domaine d adresse sp cifi plut t que dans tout le syst me Les domaines peuvent tre de 1 octet 1 m ga octet ainsi si vous le souhaitez vous pouvez obtenir une information compl te sur le syst me L utilisation de domaines sp cifiques plut t que recueillir to
38. guillements n de touche de fonction dans S ICE DAT nde Soft ICE DUMP la touche F12 Quand F12 Soft ICE fera un dump de la m moire l offset 100H dans le de donn es actuel Le point virgule suivant le 100 repr sente la touche ENTREE 6 4 3 S quence de commandes d initialisation a Une s quence de commandes peut chargement de Soft ICE C est utile pour personnaliser Soft IC souhaitez Par exemple Er x cut e automatiquement au LE E comme vous le s quence de touches d activation vous pouvez positionner des fen tres et changer la La syntaxe pour positionner une s quence de commandes d initialisation dans S ICE DAT est INIT cha ne d affectation cha ne d affectation La cha ne peut tre constitu e de toute commande Soft ICE valide et des caract res sp ciaux et Un est plac dans la cha ne pour rendre une commande invisible Un plac dans la cha ne signifie un retour de chariot La cha ne doit tre incluse dans des guillemets Un exemple s quenc de commande d initialisation dans S ICE DAT est INIT WIN WR WD 1 WC 12 ALTKEY CTRL X Cet exemple mettra la fen tre Soft ICE en mode plein cran cr e une fen tre registre cr de 12 lignes et cha L exemple S IC u ng n fen tre donn es d une ligne cr e une fen tre cod
39. interruption mat rielle ou logicielle En utilisant le registre optionnel AX avec une valeur des appels DOS ou BIOS sp cifiques peuvent tre isol s ais ment Si aucune valeur n est pr cis e un point d arr t surviendra quand l interruption pr cis e par num int se produit Cette interruption peut tre une interruption logicielle mat rielle ou interne La valeur optionnelle est compar e avec le registre pr cis AH AL ou AX quand l interruption survient Si la valeur correspond au registre pr cis alors le point d arr t surviendra Quand le point d arr t survient si l interruption tait une interruption mat rielle le CS IP point sur la premi re instruction l int rieur de la routine d interruption La commande INT peut tre employ e pour voir o l ex cution en tait quand l interruption est survenue Si l interruption tait une interruption logicielle quand le point d arr t le CS IP pointe sur l instruction INT l interruption ayant caus D Exemple BPINT 21 AH 4C Cette commande positionne un point d arr t sur l interruption 21H Le point d arr t surviendra quand la fonction DOS ACH termine le programme est appel e BPX BPX Positionne ou supprime un point d arr t sur ex cution Syntaxe BX adresse C count Commentaire La commande BPX vous permet de positionner ou de supprimer un point d arr t d ex cution dans le sou
40. la plupart des cas l action d sir e est INT3 ou HERE INT3 est typiquement employ si Soft ICE est employ avec un d bugger h te HERE est employ quand on souhaite revenir Soft ICE quand les conditions de point d arr t ont t rencontr es INT1 et NMI sont des alternatives pour certains d buggers qui ne travaillent pas avec l option INT3 Par exemple CODEVIEW travaille mieux avec ACTION positionn sur NMI N employez num int que s il y a une routine de point d arr t utilisateur install e Utiliser num int en l asence d une telle routine provoque une erreur Pour plus d information voir la section 11 2 Points d arr t utilisateur Si aucun param tre n est fourni avec la commande ACTION la valeur actuelle d action est affich e L action par d faut est HERE Exemple ACTION HERE Cette commande pr cise que le contr le reviendra Soft ICE quand les conditions de point d arr t auront t rencontr es WARN WARN Positionne l avertissement de r entrance DOS ROM BIOS Syntaxe WARN ON OFF Commentaires La commande WARN est fournie pour utiliser Soft ICE avec des d buggers qui mploient le DOS et la ROM BIOS Beaucoup de d buggers utilisent le DOS et la ROM BIOS pour les sorties cran et pour la saisie du clavier Comme le DOS et la ROM BIOS ne sont pas pleinement r entrants ces d bu
41. le fichier MAP qui contient une list des symboles publics Si vous utilisez le linker Microsoft le commutateur employer est MA Ce fichier doit tre identique au fichier MAP produit par le linker Microsoft version 3 60 ou sup rieure 3 Cr er un fichier SYM en lan ant MSYM EXE La syntaxe pour utiliser MSYM EXE est MSYM nom programme extension Si l extension n est pas indiqu e MSYM suppose que l extension est MAP MSYM lit dans un fichier MAP et crit dans un fichier symbole Le fichier symbole a le nom nom programme SYM Note Avant de compiler ou d assembler votre programme vous pouvez vouloir rendre un certain nombre de symboles publics Seuls les symboles publics sont support s avec le d bugging symbolique de Soft ICE La m thode pour rendre une variable ou une tiquette publique varie en fonction du langage que vous utilisez TY En assembleur 8086 employez simplement la directive PUBLIQUE suivie par les symboles locaux que vous d sirez rendre publics Par exemple PUBLIC FOO LOOP1 STATUT En langage C tous les noms de proc dur t les variables statiques d finis hors d un bloc sont publics Pour autres langages r f rez vous au manuel de votre langage pour des d tails 7 2 2 Pr paration pour d bugging symbolique et source Pour pr parer un programme pour le d bugging symbolique et source vous devez suivre les tap
42. m moire INT Affiche la derni re interruption appel e or H Affiche l aide VER Affiche le num ro de version de Soft ICE Commandes des ports I O T Lecture d un port I O O Ecriture sur un port I O Commandes du contr le de transfert X Sortie de la fen tre Soft ICE G Aller une addresse T Tracer une instruction P Saut dans le Programme HERE Ex cuter jusqu la ligne du curseur GENINT Forcer une interruption EXIT Force la sotie du programme DOS actuel BOOT Reset du Syst me Soft ICE reste pr sent HBOOT Reset hard du syst me reset total Commandes du mode Debug ACTION D termine l action ex cuter lorsqu un point d arr t est atteint WARN Positionne une alerte de r entrance DOS ROM BIOS BREAK Break Accessible nimporte quand 13HERE Redirige l Interruption 3 vers Soft ICE Commandes Utilitaires Page 29 31 31 32 33 35 34 35 35 36 36 37 eN BE taa GO NH H LO RER EE PB L I NADAU 49 50 50 51 A Assemble du code S Cherche une donn F Remplit la m moire avec une donn M D place une donn Compare deux blocs de donn es Commandes Sp ciales de Debugging SHOW Affiche les instructions du buffer d historique TRACE Entrer en mode simulation de trace XT Saut simple en mode simulation de trace XP Saut programme en mode simulation de trace XG
43. moire pour une comparaison ult rieure L option S copie un bloc de m moire vers un buffer dans la m moire tendue L option C affiche les diff rences entre le buffer dans la m moire tendu t la m moire r elle sp cifi e par le domaine d adresses L option R copie le buffer en m moire tendue dans le domaine d adresses n m moire conventionnelle Quand l option C est employ e pour comparer le buffer avec le domaine d adresses la sortie est dans le format suivant adresse vieilles donn es nouvelles donn es Chaque octet ayant chang est affich L adresse n est normalement pas n cessaire pour les options C et R Si l adresse n est pas pr cis e l adresse du dernier SNAP qui a t entr avec une adresse pr cis e sera employ Note Pour employer la commande SNAP vous devez avoir pr cis le commutateur TRA XXXX sur la ligne S ICE EXE dans CONFIG SYS L ordre SNAP sauve les donn es dans le buffer de trace arri re Si vous utilisez la trace arri re alors vous aurez un conflit avec SNAP Sp cifiquement SNAP efface les informations de trace arri re si vous faites un SNAP S quand il y a des instructions dans le buffer de trac arri re Inversement si vous avez sauv une zone avec SNAP l activation d un domaine de trace arri r fface le buffer de SNAP Exemple SNAP S 2000 0 4000 0 Cette commande sauve le bloc de don
44. n re le message d erreur Parameters Required Beaucoup de commandes de Soft ICE n cessitent un ou plusieurs param tres Si une commande n est pas ntr e avec le nombre correct de param tres ce message est affich Range Break Point Limit Exceeded Soft ICE permet unmaximum de 10 points d arr ts sur un domaine m moire Ce messag st affich si vous tentez de d passer cette limite Second Parameter Must Be Greater than First Quand vous sp cifiez un domaine m moire 1 premier nombre entr doit tre la limite inf rieure du domaine sinon ce message est affich Segment Offset Can Not Wrap La plupart des commandes de Soft ICE ne permettent pas un pointeur m moire segment offset de pointer d abord en haut de m moire puis en bas Par exemple le pointeur m moire FFFF FFFF enveloppe 2 zones de m moire et est ill gal Ce message est affich si vous tentez d envelopper de la m moire haute vers la basse Soft ICE cannot be loaded Needs to load at top of memory Load before any TSR s or control programs Soft ICE doit se charger lui m me le plus haut possibl n m moire Cette m moir st ensuit cach e MS DOS et rendue invisible pour les programmes qui ne peuvent ainsi pas d truire Soft ICE Ce message est affich si Soft ICE d tecte qu un autre programe s est charg avant lui en haut de la m moire Soft ICE cannot run with ot
45. op rateurs ex Tous les chiffres sont affich s en hexad cimal Les param tres octets sont affich s sur deux chiffres les param tres mots sur quatre et les param tres double mot sont sous la forme de deux mots s par s par deux points Voici quelques xemples de ces diff rends param tres 12 param tre octet 10FF param tre mot E000 0100 param tre double mot Des registres peuvent tre utilis s la place des octets ou des mots dans une expression Par exemple la commande U CS IP 10 commence le d sassemblage des instructions dix octets avant l adresse du compteur d instructions Les registres suivants peuvent tre utilis s dans une expression AL AH AX BL BH BX CL CH CX DL DH DX DI SI BP SP IP CS DS ES SS or FL 3 8 1 Sp cification d Addresses M moire Beaucoup de commandes de Soft ICE n cessitent des adresses m moir comme param tre Une adresse m moir st une valeur constitu e de deux mots de 16 bits s par s par deux points Le premier mot est l adresse de segment le second mot est l offset dans le segment Des symboles publics peuvent tre utilis s la place des adresses dans nimporte qyelle commande de Soft ICE Les symboles publics doivent avoir t charg s avec le programme chargeur LDR EXE Voir le chapitre 7 Symboles et Source pour une description compl te de l utilisation des
46. p riph rique 74 6 3 1 Commutateurs de chargement de Soft ICE 74 6 4 Le fichier d initialisation S ICE DAT 76 6 4 1 Options Sp ciales De configuration 76 6 4 2 Affectations des touches de fonction 77 6 4 3 S quence de commandes d initialisation 78 CHAPITRE 7 79 7 1 Introduction 79 7 2 Pr paration pour d bugging symbolique ou source 79 7 2 1 Pr paration pour d bugging symbolique seulement 79 7 2 2 Pr paration pour d bugging symbolique et source 80 7 3 R servation de m moire pour le fichier source et les symboles 80 7 4 Chargement des Programmes et des fichiers symboles 81 7 4 1 Chargement d un programme de symboles et de source 81 7 4 2 Charger seulement les fichiers source et symboles 81 7 4 3 Chargement d un programme sans symboles ni source 82 7 5 D bugging avec des symboles 83 7 6 D bugging avec source 83 7 6 1 Utilisation des num ros de ligne 83 7 6 2 Utilisation du mode source dans la fen tre code 83 CHAPITRE 8 85 8 1 Introduction 85 8 2 Configuration de l Environnement EMM 85 8 2 1 Pages EMM par D faut 86 8 2 2 Personnalisation de la carte des pages EMM 86 8 3 Autres caract ristiques de l EMM 87 8 3 1 Accroitre la M moire Conventionnelle 87 8 3 2 Localisation Automatique du cadre de page 87 8 4 D bugging sous EMM 88 CHAPITRE 9 89 9 1 Introduction 89 9 2 Utilisation des domaines de trace arri re 89 9 3 Notes sp ciales 90 CHAPITRE 10 92 10 1 Introduction 92 10 2
47. r activer des points d arr t qui avaient t d sactiv s par la commande BD Notez qu un point d arr t est automatiquement activ quand il est d fini pour la premi re fois ti xempl B za e 3 Cette commande active le point d arr t n 3 BL BL liste les points d arr t Syntaxe BL Commentaires La commande BL affiche tous les points d arr t actuellement positionn s Pour chaque point d arr t BL num re le num ro les conditions l tat et le compteur L tat d un point d arr t est soit activ soit d sactiv Si le point d arr t est d sactiv un ast risque est affich apr s son num ro Si un point d arr t activ est employ dans une commande BPAND un ampersand amp est affich apr s son num ro Le point d arr t qui a caus une action le plus r cemment est affich en surbrillance La commande BL n a pas de param tres Exemple BL Cette commande affiche tous les points d arr t qui ont t d finis Voici un exemple qui affiche 4 points d arr t BPMB 1234 0000 W EQ 0010 C 03 BPR B000 0000 B000 1000 W C 01 BPIO 0021 W NE OOFF C 01 BPINT 21 AH 4C C 01 A e Noter que dans cet exemple le point d arr t 1 est pr c d d un ast risque montrant qu il a t d valid BPE BPE Edite un point d arr t Syntaxe ne BPE num ro du point d arr t Commentaire
48. re instruction S S Recherche de donn es Syntaxe S adresse L longueur liste donn es liste donn es liste d octets ou cha nes s par es par des virgules ou des espaces et encadr es par des guillemets Une cha ne peut commencer avec une apostrophe seule ou un guillemet longueur longueur en octets Commentaires La commande S recherche dans la m moire une s rie d octets ou de caract res correspondant liste donn es La recherche commence l adresse pr cis e et continue sur la longueur pr cis e L adresse de chaque occurence trouv e dans la zone est affich e Exemple S DS SI 10 L CX Hello 12 34 Cette commande recherche la cha ne Hello suivie par les octets 12H et 34H en commen ant a l offset SI 10 dans le segment de donn es actuel et en terminant CX octets plus loin F F Remplir la m moire avec des donn es Syntaxe F adresse L longueur liste donn es liste donn es liste d octets ou cha nes s par es par des virgules ou des espaces et encadr es par des guillemets Une cha ne peut commencer avec une apostrophe seule ou un guillemet longueur longueur en octets Commentairse La commande F remplit la m moire avec la s rie d octets ou les caract res pr cis s dans liste donn es La m moir st rempli n commen ant l adresse pr cis e et pour la longueur pr cis e en r p tan
49. s que Soft ICE ait t charg r f rez vous votre manuel de MagicCV ou de MagicCVW Note MagicCVW n cessite Soft ICE version 2 00 ou sup rieure MagicCV n cessite Soft ICE version 1 02 ou sup rieure Les pilotes S TCES SKI et NUMEGA SYS taient fournis avec certaines versions de Soft ICE Les pilotes S ICE et NUMEGA T doivent tre remplac s par S ICE EXE avant de pouvoir lancer MagicCV et Soft ICE 2 0 ensemble 10 3 Consid rations Sp ciales Deux Machines Virtuelles Quand vous utilisez Soft ICE et MCV ensemble vous devez garder a l esprit que CV est dans une machine virtuelle s par e de l environnement cible Vous pouvez activer Soft ICE depuis l une ou l autre machine virtuelle par exemple quand CV fonctionne ou quand le programme cible fonctionne a Si vous activez Soft ICE tandis que le programme cible fonctionne tout se passe comme d finit dans le manuel de Soft ICE Si vous activez Soft ICE tandis que CV fonctionne fait typiquement pour les points d arr t vous devez garder quelques points l esprit Les registres sont ceux de CV et ils NE PEUVENT PAS tre chang s Par facilit la commande Soft ICE MAP affiche la carte m moire de la machine virtuelle du programme cible pas la carte m moire de la machine virtuelle de CV La zone en surbrillance dans la carte m moire peut ne
50. symboles publics L valuateur d expressions de Soft ICE reconnait certains caract res sp ciaux en conjonction avec les adresses Ces caract res sp ciaux sont Courant CS IP address Indirection sur un Double Mot number Num ro de Ligne du Source Le caract re peut tre utilis la place de CS IP pour entrer l adresse du pointeur d instructions Le caract re vous permet de faire r f rence un mot double point par une adresse Vous disposez de plusieurs niveaux de Si le carat re pr c de une adresse celle ci sera interpr t e comm un num ro de ligne du fichier source courant la place de l adresse actuelle Ceci n est valable que si un fichier source a t charg L adresse est interpr t n d cimal dans ce cas l Exemples U 1234 Cette commande commence le d sassemblag d intructions a la ligne 1234 d cimal du code source uU 10 Cette commande d sassemble des instructions en commen ant 10 octets avant le pointeur d instructions G SS SP Suppose que vous tes sur la premi re instruction d une routine d interruption L entr e de cette commande cr e un point d arr t temporaire l adresse de retour sur la pile et saute la routine d interruption 3 9 Touches de Fonction Les touches de fonction peuvent tre affect es nimporte quelle cha ne de commande pouvant tre entr e dans Soft ICE Les touches d
51. tous les points d arr t Commentaire La commande BC est employ e pour effacer d finitivement un ou plusieurs points d arr t Exemple BC Cette commande efface tous les points d arr t CHAPITRE 5 Utilisation d autres Commandes 5 1 O1 U O1 U U U1 U1 O Ur e O I Oo U1 amp amp N Commandes Commandes Commandes Commandes Commandes Commandes Commandes Commandes Commandes d dition et d affichage des Ports 1 0 des Contr les de Transfert du Mode D bug Utilitaires Sp cialis es de D bugging de Fen trage de Personnalisation du D bugger de Contr le D cran 0 Commandes Ligne Source et Symbole 5 1 Commandes d dition et d affichage Commandes U D sassemble instructions ou affiche un source R Affiche ou modifie des registres MAP Affiche une carte m moire du syst me D Affiche la m moire dans le dernier format pr cis DB Affiche la m moire dans le format octet DW Affiche la m moire dans le format mot DD Affiche la m moire dans le format mot double E Edite la m moire dans le dernier format pr cis EB Edite des octets en m moir EW Edite des mots en m moire ED Edite des mots doubles en m moir INT Affiche le dernier num ro d interruption ou H Affiche des Informations d Aide VER Affiche le num ro de version de Soft ICE U U D sassemble des instru
52. tout entier Il est divis en quatre sections Du haut vers le bas ces sections sont la fen tre des registres la fen tre des donn es la fen tre de cod t la fen tre de commande Si S ICE DAT n a pas t trouv vous avez une petite fen tre au centre de votre cran Ceci peut aussi arriver si d autres composants n cessaires au didacticiel n ont pas t charg s Si la petite fen tr st visible vous devez 1 Quitter Soft ICE en entrant un X 2 D charger Soft ICE en tapant S ICE U 3 Copier S ICE DAT depuis les disquettes de ditribution vers un r pertoire accessible dans votre PATH 4 Relancer la d mo Nous voulons maintenant basculer vers la petite fen tr La petite fen tr st tr s utile lorsqu on utilise Soft ICE en tant qu accessoire d un autre d bugger Entrez WIN Ceci fait appara tre la petite fen tre de commande au centre d l cran Certaines commandes de Soft ICE sont visibles sur cet cran Ce sont les traces de la cha ne d initialisation de S ICE DAT qui avait plac Soft ICE n mode plein cran au d marrage Vous pouvez remarquer un prompt et la ligne d tat au bas de la fen tre La fen tre Soft ICE peut tre d plac e sur l cran et sa taille ajust e D placez la fen tre sur l cran en pressant CTRL _ d place la fen tre d une case vers le haut C
53. Aller une adress n mode simulation de trace XRSET Remettre 0 le buffer de trace arri r VECS Sauve restaure compare vecteurs d interruption SNAP Take snap shot of memory block EMMMAP Affiche la carte d allocation dela m moire EMM Commandes de fen trage WR Bascul la fen tre registr WC Bascule r gle la taille de la fen tre cod WD Bascule r gle la taille de la fen tre donn es EC Entr e sortie de la fen tre cod Trouve l instruction courante Commndes de personnalisation du Debugger PAUS ALTK PA TI Y FKE BASE CTRL P Pause apr s chaque cran Modifier la s quence de touches permettant d activer Soft ICE Affichage et dition des touches de fonction Positionne affiche la base de num ration Bascule l impression de la session courante Print Screen Imprime le contenu de l cran PRN Commandes LASH LICK ATCHV S LS LTSCR WIN D QNS ot Commandes SYM SYMLOC SRC FILI SS CI Positionne le port de sortie imprimante de contr le d cran Restaure l cran durant P et T R duction du flicker Positionne la surveillance du mode vid o Restaure l cran du programme Efface la fen tre Bascule sur le deuxi me cran Change la taille de la fen tre Soft IC Pa Symbole et Lignes Source Affiche positionne les symboles D place la base de symboles Bascule entre source m lang et cod Modifie affiche le fichier source courant C
54. CONFIG SYS Pour les besoins de ce didacticiel vous devez installer Soft ICE dans votre CONFIG SYS avec au moins 50K de m moire tendue r serv e pour les symboles et les fichiers sources Soft ICE doit tre le premier pilote install dans le CONFIG SYS La ligne d installation doit tre DEVICE drive path S ICE EXE SYM 50 Le param tre SYM 50 demande Soft ICE de r server 50 kilooctets de m moire tendue pour le chargement des symboles et des fichiers source C est g n ralement insuffisant pour la plupart des probl mes courants mais fonctionne avec notre exemple Vous devez red marrer votre machine apr s ajout de cette ligne dans votre CONFIG SYS Quand vous red marrez votre syst me Soft ICE affiche un avertissement de Copyright un num ro d enregistrement le nom de la personne qui appartient cette copie de Soft ICE et la m moire tendue r serv pour chacune des composantes de Soft ICE Avec un syst me disposant de 384K de m moire tendue l cran initial doit ressembler ceci Soft ICE Your Name Your Company Name Registration Sinnnnnn Copr C Nu Mega Technologies 1987 1989 All Rights Reserved Soft ICE Version 2 00 Soft ICE is loaded from 00132000H up to 00160000H 50K of symbol space reserved 10K of back trace space reserved 200 K of extended memory available Le message
55. E SYMLOC La syntaxe de la commande SYMLOC est T SYMLOC segment La valeur de segment est obtenue avec la commande MAP Voir la description de la commande SYMLOC pour plus de d tails 12 2 Chargeurs de boot Le d bugging des chargeurs de boot ou des programmes auto bootables n cessite l utilisation de Soft ICE tout seul Vous devez tout d abord d marrer sous DOS et charger Soft ICE La m thode la plus facile pour d bugger des chargeurs de boot consiste positionner un point d arr t une adresse connue dans le chargeur de boot puis d employer alors la commande BOOT pour faire un reset du syst me Soft ICE est maintenu en m moire avec les points d arr t tablis Si une adresse connue est difficile trouver un point d arr t d ex cution peut tre tabli 7C0 0H avant le la commande BOOT C est l adresse o la ROM BIOS charge le secteur d d marrage en m moire Une autre m thode n cessite de positionner le mode 13HERE sur ON voir la section 5 4 Placez un opcode INT 3 CCH dans votre programme au point o vous voulez reprendre le contr le Quand l INT 3 s ex cute le contr le est donn Soft ICE Vous pouvez aussi employer le d bugging symboles et source pour d bugger un chargeur de boot Voir la commande SYMLOC pour plus d informations sur la fa on de reloger vos symboles et source vers le segment o votre chargeur de boot a t
56. EMMSETUP EXE pour configurer l environnement EMM 4 00 Ce proc d de configuration vous permet de s lectionner quelles portions de m moire vous aimeriez rendre disponible comme pages EMM 4 0 Lancer EMMSETUP EXE est hautement recommand si vous utilisez des programmes qui prennent avantage des sp cifications EMM 4 0 8 2 1 Pages EMM par D faut Par d faut S ICE EXE avec le commutateur EMM est pre configur pour permettre des pages EMM 4 0 dans les zones de m moire suivantes Les 640K inf rieurs l exception des ler 64K Les 64K commen ant DDH Vous pouvez vouloir reconfigurer pour l une des raisons suivantes Vous pouvez avoir un pilote tel qu un r seau qui utilise la zone m moire de DOOOH Vous pouvez vouloir remplir plus de trous au dessus de 640K avec des pages EMM Cela accro tra la performance et la convivialit de programmes comme Microsoft Windows Pour obtenir la performance maximum de Microsoft Windows vous devriez remplir chaque page disponible avec de la m moir pagin e accrue 8 2 2 Personnalisation de la carte des pages EMM Pour configurer la carte EMM vous devez employer l utilitaire EMMSETUP EXE EMMSETUP EXE permet de modifier la carte des page puis met jour S ICE EXE avec les changements EMMSETUP fait sa meilleure supposition en c
57. Fonctionnement de Soft ICE avec MagicCV ou MagicCVW 92 10 3 Consid rations Sp ciales 92 CHAPITRE 11 95 11 1 Utilisation de Soft ICE avec d autres d buggers 95 11 1 1 D buggers utilisant DOS 95 11 1 2 La commande ACTION avec d autres d buggers 95 11 1 3 Consid rations Sp ciales 96 11 1 4 Utilisation de Soft ICE avec CODEVIEW 96 11 1 5 D buggers utilisant les points d arr t registre du 80386 96 11 2 Points d arr t utilisateur 96 11 2 1 Exemple d un point d arr t utilisateur 97 11 3 La Fen tre en mode Graphique 98 11 4 D bugging en m moire pagin e 99 11 5 D bugging en m moire tendue 99 CHAPITRE 12 101 12 1 Pilotes de p riph riques 101 12 2 Chargeurs de boot 102 12 3 Routines d interruption 102 12 4 Syst mes d exploitation non DOS 102 APPENDICE A 104 LISTE DES COMMANDES FONCTIONNELLES 104 APPENDICE B 106 LISTE ALPHABETIQUE DES COMMANDES 106 APPENDICE C 108 FONCTION DES SEQUENCES DE TOUCHES 108 APPENDICE D 108 Messages d Erreur et Descriptions 108 APPENDICE E 113 CHAPITRE 1 Introduction I 1 Description du produit 1 2 Utilisation de ce Manuel 1 3 Mat riel n cessaire 1 1 Description du produit SOft TE Soft IC dans une mac total de l en prot g les poi niveau Soft IC th 2 Les car N E e OX c T n E est un outil de d verminage logiciel E u
58. II Exemples ALTKEY Cette commande affiche une l information sur la commande ALTKEY incluant sa syntaxe et un exemple H 10 14 2 Cette commande affiche 0038 00056 8 Ce sont les repr sentations hexad cimales ASCII et d cimales de la valeur de l expression 10 14 2 VER VER affiche le num ro de version de Soft ICE Syntaxe VER Exemple VER PEA Cette commande affiche la version de Soft ICE t le message de copyright de Nu Mega Technologies 5 2 Commandes des Ports 1 0 Commande I ou IB Entr e d 1 octet depuis un port I O IW entr e d un mot depuis un port I O O ou OB Sortie d un octet sur un port I O ON Sortie d un mot sur un port I O I IB IW I IB IW Entr e depuis un port I O port Syntaxe I taille port taill B Octet W Mot port Une valeur de mot ou d octet Commentaire La commande d entr e depuis un port est employ e pour lire et afficher une valeur d un port mat riel L entr e peut tre fait n mot ou en octet Si aucune taille n est pr cis e le d faut est octet Exemple C2 Cette commande affiche le registre de masque du contr leur d interruptions un O OB OW O OB OW Sortie sur un port I O Syntaxe O taille valeur du port taill B Octet W Mot port valeur de mot ou d octet valeur Un octet pour un port d octet ou un mot pour un port de mo
59. M Un message d erreur sera affich si cel est tent Dans le mode source la commande P ex cute jusqu la prochaine ligne de source Si la ligne actuelle est un appel de fonction ou de proc dure la commande P saute par dessus Exemple P Cette commande ex cute un pas de programme HERE HERE Aller a la ligne du curseur Syntaxe HERE Commentaires La commande HERE ex cute jusqu ce que le programme atteigne la ligne du curseur HERE est seulement disponible quand le curseur est dans la fen tre de code Si la fen tre de code n est pas visible ou si le curseur n est pas dans la fen tre de code employez plut t la commande G La commande HERE sort de Soft ICE avec un point d arr t d ex cution positionn En plus tous les points d arr t permanents sont arm s L ex cution commence au CS IP et continue jusqu ce que l adresse du curseur dans la fen tre de code soit rencontr e que la s quence de touche de sortie de la fen tre soit activ e ou qu un point d arr t permanent survienne Le point d arr t d ex cution temporaire emploie un point d arr t registre du 80386 moins que tous les point d arr t registre aient t affect s aux points d arr t permanents Dans ce cas un point d arr t de style INT3 est r alis Quand ce cas se produit la commande HERE ne fonctionnera
60. OS est SET SRC r pertoire r pertoire r pertoire Chacun des r pertoires pr cis sera explor avant de demander l utilisateur Limitations Soft ICE ne supporte les symboles que pour un programme la fois Si vous chargez un nouveau fichier SYM le fichier existant est d truit Soft ICE ne suit pas les overlays ou le mouvement des segments d Microsoft Windows Soft ICE reconna t les symboles publics et les num ros de lign seulement Il ne supporte pas les variables locales 7 5 D bugging avec des symboles Apr s avoir charg votre programme et votre fichier SYM vous pouvez commencer le d bugging symbolique de votre programme En g n ral un symbole peut tre utilis dans toute commande la place d une adress Les symboles sont aussi utilis s par certaines commandes Soft ICE quand des adresses sont affich es Par exemple la commande U affiche les noms de symbole ou les labels et les proc dures comme il les rencontre Il y a deux commandes qui sont tr s utiles quand vous faites du d bugging symbolique SYM Utilisez la commande SYM pour obtenir une liste des noms de symboles et de leurs valeurs ou pour changer la valeur d un symbole SYMLOC Utilisez la commande SYMLOC pour reloger la base de tous vos symboles Vous utiliserez la commande SYMLOC quand 1 Vous chargez des symboles pour un pilote de p riph riqu 2 Vous chargez des symboles po
61. PLE Maintenant pressez la barre d espace Pressez d autres touches Apparement le programme de Jed a un probl me Jed a pass plusieurs heures r viser son code source et il est s r qu il n y a pas de faille dans sa logique Par contre Jed a r cup r certaines routines d un de ses amis Jake get_key is_space Jed est quelque peu m fiant leur propos mais ne trouve pas le bug Le code source du programme de Jed est celui ci Page 55 80 m Title Sample program for Soft ICE tutorial DATA Segment Public Data pad db 12H dup O char db 0 answer db 0 space_msg db Le Caract re est un SPACE 0ODH OAH S no_space_ msg db Le Caract re N EST PAS un db SPACE 0DH 0AH DATA Ends STACK Segment Stack Stack Dw 128 Dup Program stack STACK Ends CODE Segment Public Code Assume CS CODE DS DATA ES Nothing SS STACK start set up segments mov ax DATA mov es ax mov ds ax Main Program Loop main loop call get_key call is_space cmp answer 0 je no space Si c est un Espace on affiche le message Espace mov ah 9 mov dx offset space _ msg int 21H jmp main_loop Si ce n est pas un Espace on affiche le message pas Espace no_space mov ah 9 mov dx offset no_ space _ msg int 2LH jmp main_loop JAKE S ROUTINES Get Key Routine Une des routines de Jake get_key proc mov ah 8 i
62. Soft ICE Guide de l utilisateur CHAPITRE 1 4 1 1 Description du produit 4 1 2 Utilisation de ce Manuel 5 1 3 Mat riel N cessaire 5 CHAPITRE 2 7 2 1 Les Disquettes 7 2 2 Chargement de Soft ICE 7 2 2 1 Chargement sans M moire Etendue 8 2 2 2 Chargement avec M moire Etendue 8 2 2 3 Configuration de Soft ICE pour une Installation Personnalis e 9 2 3 D chargement de Soft ICE 10 2 4 Recharger Soft ICE 10 CHAPITRE 3 11 3 1 Introduction 11 3 2 Activation de la fen tre 11 3 3 Sortie de la fen tre 11 3 4 Changement de taille de la fen tre 11 3 5 D placement de la fen tre 12 3 6 Touches d dition de ligne 12 3 7 Ligne d Etat Interactive 13 3 8 Syntaxe des Commandes 13 3 8 1 Sp cification d Addresses M moire 13 3 9 Touches de Fonction 14 3 10 Aide 15 3 11 Didacticiel 15 CHAPITRE 4 29 4 1 Introduction 29 4 2 Positionner les points d arr t 29 4 3 Manipulation des points d arr t 35 CHAPITRE 5 38 5 1 Commandes d dition et d affichage 38 5 2 Commandes des Ports I O 43 5 3 Commandes du Contr le De transfert 44 5 4 Commandes du Mode Debug 49 5 5 Commandes Utilitaires51 5 6 Commandes Sp cialis es de D bugging 54 5 7 Commandes de fen trage 59 5 8 Commandes de personnalisation du D bugger 62 5 9 Commandes de Contr le D cran 66 5 10 Commandes symboles et ligne source 69 CHAPITRE 6 73 6 1 Introduction 73 6 2 Chargement de Soft ICE depuis le prompt du DOS 73 6 3 Chargement de Soft ICE comme un pilote de
63. T Syntaxe FLASH ON OFF Commentaires L ordre FLASH vous permet de pr cisez comment l cran sera restaur durant les commandes Saut de Programme et Trace Si vous pr cisez que l cran doit tre restaur il est restaur durant la br ve p riode de temps que met la commande P ou T s ex cuter Cette caract ristique est requise pour d bugger des sections de code qui acc dent la m moire vid o Si la commande P ex cute le contenu d un saut ou d une interruption l cran sera toujours restaur parce que la routine tant appel e peut crire sur l cran Si aucun param tre n est pr cis l tat actuel de FLASH est affich Le mode par d faut de FLASH est OFF Exemple FLASH ON Cette commande met ON le mode FLASH L cran sera restaur durant toute commande P ou T FLICK FLICK r duction du scintillement de l cran Syntaxe FLICK ON OFF Commentaires Certains types de cartes vid o requi rent une attente des rafra chissements horizontaux ou verticaux avant d afficher des caract res Si les critures vid o sont faites arbitrairement un scintillement appara tra pendant l affichage des caract res Si un scintillement survient sur votre cran lors de l utilisation de Soft ICE vous devriez positionner FLICK sur ON Avec certaines cartes EGA les couleurs ne sont pas restaur es correctement quand vous sortez de Soft ICE C est un pro
64. TRL _ d place la fen tre d une case vers le bas CTRL lt d place la fen tre d une case vers la gauche CTRL gt d place la fen tre d une case vers la droite Basculez la fen tr n plein cran en tapant WIN Vous remarquez que l cran d origin st restaur Revenez la petite fen tr n tapant WIN nouveau Agrandissez ou r duisez la fen tre en tapant ALT agrandit la fen tre ALT _ r duit la fen tre Essayez maintenant ce qui vient naturellement l esprit lorsqu on se trouve face un nouveau programme et qu on ne sait pas quoi faire demandez de l aide Affichez l aide en tapant Remarquez que l cran marque une paus t attend une touche avant d afficher la suite des informations l cran Regardez la ligne d tat au bas de la fen tre Elle affiche les instructions suivantes Any Key To Continue ESC to Cancel Pressez maintenant une touche pour afficher la suite de l aide Continuez presser une touche jusqu au retour du prompt Revenez en arri re dans l aide en pressant etann Les informations affich es pr c dement dans la fen tre de commande peuvent tre balay es avec les touches shift haut shift bas page haut et page bas Essayez plusieurs de ces touches pour balayer l aide L aide de Soft ICE vous donne un apper u de chaque commande Si vous entrez un point d interrogation suivi d un nom de commande vous verrez la syntaxe
65. ables aux points d arr t lecture et criture valeur Un octet un mot ou un double mot en fonction de la taille sp cifi e Commentaires La commande BPM vous permet de positionner un point d arr t sur la m moire n lecture en criture ou en ex cution Si un verbe n est pas pr cis c est RW par d faut Si une taille n est pas pr cis e c est octet par d faut Tous les types de verbe sauf X forcent le programme ex cuter l instruction qui provoque le point d arr t Le CS IP courant pointera l instruction qui suit le point d arr t Si le verbe est X le CS IP courant pointe l instruction o le point d arr t tait positionn Si R est pr cis alors le point d arr t survient sur un acc s en lecture ou en criture ces op rations ne changent pas la valeur de l emplacement m moir Si le type de verb st R W ou RW l ex cution d une instruction l adresse pr cis e ne provoquera pas l ex cution du point d arr t Note Si BPMW est employ l adresse pr cis e doit commencer sur un mot Si BPMD est employ l adresse pr cis e doit indiquer un mot double Exemple BPM 1234 SI W EQ 10 C 3 Cette commande d finit un point d arr t sur un acc s m moire d un octet La troisi me fois que 10H sera crit l emplacement 1234 SI le point d arr t surviendra BPM CS 1235 X Cette commande d finit un point d arr t sur ex cution Le point d arr t surv
66. an pendant que vous ex cutez les commandes P ou T voir la commande FLASH section 5 9 La troisi me caract ristique vous permet de restaurer l cran du programme temporairement voyez la commande RS section 5 9 Si Soft ICE ne semble pas suivre votre programme en mode graphique essayez de basculer WATCHV sur ON voir la section 5 9 pour des d tails 11 4 D bugging en m moire pagin e Un point d arr t domaine ou un point d arr t m moire qui est positionn dans une zone EMM mappable restera cette adresse m me si la page EMM est mapp e Quand vous d buggez des programmes EMM la commande EMMMAP peut aussi tre tr s utile Voir la section 5 6 pour plus d informations Les commandes D E S F et C peuvent tr mploy es pour voir ou modifier nimporte quel gestionnaire de page EMM La page ne doit pas tre actuellement mapp e La syntaxe de ces commandes est identique celles des commandes utilis es pour les pages non EMM l exception des suivantes Dans les commandes D E S et F la partie adresse de la commande doit tre pr cis e de la fa on suivante Hhandle Ppage d calage o handle est un nombre pr cisant quel gestionnaire EMM employer page est un nombre pr cisant quelle page EMM employer et d calag st un nombre de 0 4000H pr cisant le d calage depuis le d but de la page Exemple
67. ard Pressez ENTR pour sortir de l assembleur E un prompt Si la zone d adresses dans laquelle vous assemblez des instructions est visible dans la fen tre de code les instructions changeront de fa on interactive au fur et mesure de l assemblage L assembleur de Soft ICE supporte les mn moniques standards de la famille 8086 cependant il y a certains ajouts La mn monique DB est utilis e pour d finir des octets de donn es directement en m moire La commande DB est suivie par une liste d octets et ou des cha nes s par es par des espaces ou des virgules et encadr es de guillemets La mn monique RETF repr sente un retour lointain WORD PTR et BYTE PTR sont employ s pour pr ciser la taille des donn es valuer s il n y a aucun registre dans l argument par exemple MOV BYTE PTR ES 1234 1 Utiliser FAR et NEAR pour assembler explicitement les saut et les appels proches et lointain Si FAR ou NEAR ne sont pas pr cis s alors tous les sauts et appels sont assembl s en proches Les Op randes se r f rant aux emplacements d m moire doivent tre plac s entre des crochets par exemple MOV AX 1234 Exemple A CS 1234 Cette commande attend l entr e d une instruction assembleur puis l assemble en commen ant l offset 1234H dans le segment de code actuel Pressez ENTREE au prompt apr s avoir entr la derni
68. au point o vous voulez prendre le contr le Quand Ll INT 3 est ex cut e le contr le est donn Soft ICE Vous pouvez alors employer une commande RIP pour positionner le pointeur d instruction autour du INT 3 Si vous d sirez d bugger votre s quence d initialisation soyez certain que Soft ICE est charg dans CONFIG SYS avant le pilote que vous essayez de d bugger Placez la commande 13HERE ON dans la cha ne INIT ddu fichier S ICE DAT Avec cette m thode vous ne devez pas utiliser la commande BOOT Si vous tes en train de d bugger votre pilote de p riph riqu symboliquement ou avec le source vous devez charger le fichier de symboles et les fichiers source s par ment du pilote de p riph rique Le fichier de symboles et les fichiers source sont charg s avec le chargeur de programme de Soft ICE LDR EXE Quand LDR EXE est employ pour charger uniquement les symboles et les sources vous devez l employer sous cette forme LDR nom fichier SvM L extension du fichier symboles doit tre pr cis e Voir la section 7 4 pour plus de d tails sur LDR EXE Apr s avoir charg s le fichier de symboles et les fichiers source avec LDR EXE vous devez entrer dans Soft ICE et reloger les symboles par rapport au d but de votre pilote de p riph rique Les symboles sont relog s avec la commande Soft IC
69. bl me de virtualisation de la vid o EGA Le port 3DA est un port vid o employ dans deux buts Le premier est les vieux softs CGA testant 3DA pour hsync et vsync Cela leur permet de ne pas avoir de scintillement avec quelques vieilles cartes contr leur CGA Le second est qu il est employ la remise z ro d un verrou de palette sur les cartes EGA Soft ICE a un algorithme qui lui permet d viter d avoir constamment surveiller ce port ce qui pourrait ralentir de vieux programmes qui penseraient qu ils sont en CGA Cependant il peut occasionnellement y avoir des circonstances o cet algorithme ne fonctionne pas Si vous utilisez Soft ICE sur un cran EGA et si vous remarquez que les couleurs ne sont pas restaur es correctement alors positionnez FLICK sur ON et Soft ICE surveillera le port 3DA fixant le probl me Quand FLICK est sur ON les mises jour d cran sont plus lentes Si aucun param tre n est pr cis l tat actuel de FLICK est affich Le mode par d faut de FLICK est OFF Exemple FLICK ON Cette commande le mode FLICK sur ON Cela force Soft ICE attendre pour les rafra chissements horizontal ou vertical avant d afficher des caract res WATCHV WATCHV Affiche le mode surveillance vid o Syntaxe WATCHV ON OFF Commentaires La commande WATCHV vous permet pr ciser comment Soft ICE doit surveiller les ports vid o Normal
70. ble contenir des V inutiles si vous le d sirez Si vous tes satisfait des suppositions D EMMSETUP pressez F10 et S ICE EXE sera modifi avec ces param tres Vous devez rebooter avant que tout changement fait S ICE EXE prenne effet Si vous d sirez modifier les suppositions D EMMSETUP le faire maintenant 8 2 2 1 Inclure et Exclure des zones de EMM Pour inclure une zone comme m moire EMM 4 0 quidez simplement le curseur sur le bloc d sir tapez alors E Inversement pour exclure une zone d la m moire EMM 4 0 quidez le curseur sur le bloc et tapez X Quand vous tes satisfaits de vos changements pressez F10 pour sortir du programme Tous les changements sont automatiquement sauv s dans le fichier S ICE EXE Si vous d sirez sortir sans modifier S ICE EXE pressez ESC Vous devez rebooter avant que les changements faits S ICE EXE ne prennent fret Quand vous incluez de la m moire sup rieure gardez l esprit les faits suivants CGA occupe de B800H COOOH MDA occupe de BOOO0OH B100H Les cartes Hercule occupent de B000 CO00H EGA occupe de A000H CO00H et de CO00H C400H VGA sur carte m re occupe de A000H COO0H VGA sur carte d extention occupe de A000H CO00H et CO00H C800H PS 2 syst me en ROM occupe de EO00H 10000H PS 2 ESDI en ROM o
71. cCVW 10 1 Introduction 10 2 Fonctionnement de Soft ICE avec MagicCV ou MagicCVW 10 3 Consid rations Sp ciales 10 4 La commande Soft ICE ACTION 10 1 Introduction MagicCV vous permet d utiliser Microsoft CodeView dans moins de 8K de m moire conventionnelle sur votre 80386 MagicCVW vous permet d utiliser Microsoft CodeView pour Windows dans moins de 8K de m moire conventionnelle sur votre 80386 L utilisation de Soft ICE en combinaison avec MagicCV ou MagicCVW vous permet d avoir la puissance de Soft ICE pendant que vous avez la facilit d utiliser les produits CodeView avec lesquels vous tes familiers Dans le reste de ce chapitre le terme MCV s appliquera MagicCV ET MagicCVW et le terme CV s appliquera CodeView et CodeView pour Windows 10 2 Fonctionnement de Soft ICE avec MagicCV ou MagicCVW s Pour utiliser Soft ICE 2 0 et MCV ensemble vous devez installer S ICE EXE comme un pilote de p riph rique S ICE EXE est fourni sur la disquette Soft ICE S ICE EXE remplace NUMEGA SYS dans CONFIG SYS Utiliser les commutateurs MCV EMM et EXT commutateurs comme si vous utilisiez MagicCV ou MagicCVW seul Il y a des commutateurs suppl mentaires que vous pouvez vouloir utiliser pour Soft ICE Se r f rer au chapitre 6 pour des informations sur ces commutateurs T Pour lancer MagicCV ou MagicCVW apr
72. ccupe de CCOOH DOOOH La plupart des Roms de compatibles AT occupent de FOO0H 10000H Les syst mes Compaq les cartes m res Micronix et beaucoup de carte m res Chips et Technologies d placent la ROM EGA VGA E000H Cependant ils occupent encore la r gion CO00H Les r seaux Token Ring occupent habituellement de CCOOH EOOOH Beaucoup de r seaux occupent des r gions de m moire dans la zone DOOOH es principes ci dessus sont valables pour des cartes normales beaucoup d utilisations par les fabricants d ordinateurs et par les fabricants de cartes diff rent C A AE i 8 3 Autres caract ristiques de l EMM S ICE EXE avec le commutateur EMM deux caract ristiques qui sont automatiquement activ es suivant votre configuration syst me Ces caract ristiques sont le backfilling et le relogement du cadre de page 8 3 1 Accroitre la M moire Conventionnelle La m moire syst me peut automatiquement tre backfilled jusqu a la premi re page non mappable Cela signifie que l on commence chercher des E contigus partir de l emplacement 1000 et qu on continue jusqu trouver le premier E non contiqu Si les E contigus vont au del de la m moire de bas de votre syst me la m moire est backfilled jusqu au premier R V ou X qui est trouv Le b n fice de backfilling est que vous pouvez accroitr
73. ce arri re voir le chapitre 9 MCV XXX Demande S ICE EXE de r server XXX kilo octets de m moire tendue pour MagicCV ou MagicCVW La quantit minimum de m moire tendu que vous pouvez affecter est 280K et le maximum est 620K Si XXX n est pas pr cis S ICE EXE r servera la m moire restante entre 280K et 620K Voir le chapitre 10 pour plus d informations sur le lancement de Soft ICE avec MagicCV ou MagicCVW EMM XXXX Demande S ICE EXE de transformer XXXX ilo octets de m moire tendu n m moire pagin e MM 4 0 Si XXXX est pr cis alors toute la m moire restante est uttilis e comme pagin e Voir le chapitre 8 pour plus d informations sur le support de la m moire HGN pagin e UN Demande S ICE EXE d entrer en mode prot g d r server toute la m moire tendue n cessaire de sortir du mode prot g et de se d charger lui m me Ce commutateur doit tre utilis quand vous chargez S ICE EXE comme un pilote de p riph rique mais vous ne voulez pas que votre syst me rest n mode prot g Ce commutateur r serve la m moire pour Soft ICE et vous devrez ex cuter S ICE EXE au prompt du DOS quand vous tes pr ts employer Soft ICE Soft ICE r serve la m moire tendue dans l ordre suivant ind pendamment d l ordre dans lequel les com
74. ce la base de symboles SRC Bascule entre source m lang et cod FICHIER Change affiche le source actuel SS Cherche une cha ne dans le fichier source actuel 158 SYM SYM Affiche positionne les symboles Syntaxe SYM nom symbole valeur Nom symbole Un nom de symbole valide Le nom du symbole peut se terminer avec un ast risque Cela permet de chercher un symbole si on ne connait que la premi re partie de son nom Le caract re virgule peut tre mploy comme un joker la place d un caract re dans nom symbole valeur C est une valeur de mot qui est employ e si vous voulez positionner un symbole une valeur sp cifique Commentaires La commande SYM permet d afficher et de positionner des symboles Si SYM est entr sans param tre tous les symboles sont affich s La valeur de chaque symbole est affich e c t du nom du symbole Si un nom de symbole est entr sans aucune valeur alors la valeur et nom du symbole sont affich s Si le nom du symbole n est pas trouv alors rien n est affich La commande SYM est souvent utile pour trouver un nom de symbole quand vous ne pouvez vous rappeler que d une portion du nom Deux types de jokers sont disponibles pour situer des symboles Si nom symbole finit avec un alors tous les symboles qui ont les m mes caract res pr c dant le seront affich s ind pendamment de leurs terminaisons Si une virgul
75. commande invisible et le termine la commande avec un retour de chariot La touche F2 bascule la fen tre registre ON ou OFF et peut m me tre activ e pendant l entr e d une autre commanden FKEY F1 G CS 120 R G CS Cet exemple montre que des commandes multiples peuvent tre attribu s une seule touche de fonction et que des ordres partiels peuvent tre affect s pour tre compl t s par l utilisateur L entr e de cette commande en pressant la touche F1 forcera le programme s ex cuter jusqu ce que l emplacement CS 120 soit atteint affichera les registres commencera alors la commande G pour qu ile soit compl t e par l utilisateur FKEY F1 WD 3 D DS 100 Cet exemple attribuera une s rie d commandes la touche F1 La fonction est visible et finit avec un retour de chariot La touche F1 positionnera la fen tre donn es trois lignes de haut et fera un dump des donn es en commen ant DS 100 S ICE DAT exemple F1 WR WD 2 WC 10 Si cette ligne est plac e dans S ICE DAT quand Soft ICE est charg il affecte la cha ne la touche F1 Quand F1 est press e dans Soft ICE elle bascule la fen tre registre cr e un fen tre donn es de hauteur 2 et une fen tr code de hauteur 10 Pour plus d information sur l affectation des touches de fonction dans S ICE DAT se r f rer au chapitre 6 BASE BASE P
76. ctions ou affiche un source Syntaxe U adresse L longueur longueur Le nombre d instructions d sassembler Commentaires La commande U affiche les instructions du programme en d bugging Si longueur n est pas pr cis e huit d cran commen ant la longueur par d faut est fix e lignes s il y en a huit disponibles ou une de moins que la longueur Si adresse n est pas pr cis e la commande d sassemble l adresse au premier octet apr s le dernier octet d sassembl par un pr c dent d sassemblage S il l adresse par d faut sera fix e au n y a eu aucun pr c dent d sassemblage CS IP Si la fen tre de cod st visible les instructions sont affich es dans la fen tre de cod Si un source est charg pour le domaine d adresses pr cis alors des lignes de source peuvent tre affich es en accord avec le mode SOURCE actuel Exemple uU 10 Cette commande d sassemble des instructions en commen ant 10H octets avant l adresse actuell U 499 Cette commande affiche le fichier source actuel en commen ant la ligne 499 La fen tre de cod doit tre visible et en mode SOURCE EI R R Affichage ou modifications de registres Syntaxe R nom registre valeur nom registr Un des noms suivants AL AH AX BL BH BX CL CH CX DL DH DX DI SI BP SP IP CSi DS ES ss ou FL valeu
77. d arr t domaine Si aucun verbe n est pr cis W sera le verbe par d faut Le point d arr t domaine d grade les performances du syst me dans certaines circonstances Toute lecture ou criture dans la page de 4K qui contient le domaine du point d arr t est analys e par Soft ICE Cette d gradation des performances n est pas habituellement visible cependant elle pourrait tre extr me dans des cas d exception Les verbes t TW activent des domaines de trace arri re sur le domaine pr cis e Ils ne provoquent pas de points d arr t mais notent plut t des informations sur les instructions qui peuvent tre affich es ult rieurement avec les commandes SHOW ou TRACE Pour plus d information sur les domaines de trace arri re voir le chapitre 9 Exemple BPR B000 0 B000 1000 W Cette commande d finit un point d arr t sur un domaine de m moire Le point d arr t surviendra s il y a la moindre criture dans la zone m moire de l adaptateur monochrome BPIO BPIO point d arr t sur acc s aux ports I O Syntaxe BPIO port verbe qualifieur valeur C count port Une valeur sur un mot ou un octet verbe R W ou RW R Lire ENTREE W Ecrire SORTIE qualifieur EQ NE GT LT M EQ Egal NE Pas Egal GT Plus grand Que LT Plus petit Que M Masque la valeur Une valeur de mot ou octet
78. de 100K vous devez avoir la ligne suivante dans votre fichier CONFIG SYS DEVICE S ICE EXE 100 Un buffer de trace arri re de 10K est affect e par d faut Si c est suffisant pour vos besoins vous ne devez pas affecter un plus grand buffer La taille du buffer d historiqu st seulement limit e par la quantit de m moire tendue disponible 2 Permettre des domaines de trace arri r n cr ant un point d arr t doamine m moire avec le verbe T ou TW Par exemple BPR 1000 0 2000 0 T Les verbes T et TW ne provoquent pas de point d arr t mais ils notent les informations d instructions qui peuvent tre affich es ult rieurement avec les commandes SHOW ou TRACE 3 Positionnez tout autre point d arr t si vous le d sirez 4 Sortez de Soft ICE avec la commande X 5 Apr s qu un point d arr t se soit produit ou apr s que vous ayez activ Soft ICE vous pouvez afficher les instructions dans le buffer instructions avec la commande SHOW Par exemple pour remonter de 50 dans le buffer et afficher les instructions entrez SHOW 50 Pour rejouer une s rie d instructions vous devez d abord entrer en mode simulation de trace avec la commande TRACE Pour commencer rejouer la s quence d instructions commen ant 50 instructions en arri re dans le buffer entrez RACE 50 Apr s tr ntr en mode simulation de trace vous pouvez tracer la s quence d instructions en utilisant les commandes XT XP ou XG
79. de cette commande un br ve description et un exemple Faites donc des essais en entrant ces commandes commande Par exemple ALTKEY Faites attention ce qui s affiche sur la ligne d tat en bas de l cran si vous avez des doutes La commande vous permet aussi d valuer des expressions hexad cimales Par exemple entrez 10 2 42 Le r sultat est affich sous forme hexad cimale d cimale puis en ASCII 0062 00098 p Vous activez la fen tre par la s quence CTRL D C est parfait dans la majorit des cas mais certains peuvent pr f rer une autre s quenc Nous allons donc entrer une commande pour changer la s quence de touches n cessaire pour activer la fen tre Proc dez par tapes vous serez aid s par la ligne d tat au bas de la fen tre Entrez la lettre A La ligne d tat affiche une liste des commandes comman ant par A Continuez taper le mot ALTKEY La ligne d tat affiche maintenant une br ve description de la commande ALTKEY Pressez la barre d espace La ligne d tat montre maintenant la syntaxe requise pour la commande ALTKEY Entrez les lettres ALT D et pressez ENTER pour valider la commande ALTKEY ALTD Vous venez de changer la s quence de d marrage en ALT D A partir de maintenant il vous faudra presser ALT D pour activer la fen tre Ceci sera consid r comme vrai pour le r
80. donne un rreur g n rale de protection ce point vous pouvez presser C pour continuer relancer CV sans le commutateur R et utiliser les points d arr t de Soft ICE Le commutateur R de CV fonctionne quand vous lancez MCV sans Soft ICE 3 4 La commande Soft ICE ACTION La commande ACTION offre trois m thodes diff rentes pour activer CV apr s un point d arr t Soft ICE Le meilleur choix d action est ACTION NMI Si vous avez des probl mes avec ACTION sur NMI habituellement parce qu une carte dans votre syst me utilise NMI utilisez ACTION INTI SECTION III Caract ristiques CHAPITRE 11 Caract ristiques Avanc es 11 1 Utilisation de Soft ICE avec d autres d buggers 11 1 1 D buggers utilisant DOS 11 1 2 La commande ACTION avec d autres d buggers 11 1 3 Consid rations Sp ciales 11 1 4 Utilisation de Soft ICE avec CODEVIEW 11 1 5 D buggers utilisant les point d arr t registre du 80386 11 2 Points d arr ts utilisateur 11 2 1 Exemple d un point d arr t utilisateur 11 3 La Fen tre en mode graphique 11 4 D bugging en m moire pagin e 11 5 D bugging en m moire tendue 11 1 Utilisation de Soft ICE avec d autres d buggers Soft ICE est con u pour bien fonctionner avec d autres d buggers Chaque d bugger offre des caract ristiques diff rentes et peut donc n cessiter un traitement sp cial Cette section d crira certaines m thodes pour employer plu
81. du mode source dans la fen tre code La fen tre code doit tre visible pour basculer en mode source Si elle n est pas visible employez la commande WC pour la rendre visible Une fois que vous tes en mode source vous pouvez employer les commandes Soft ICE pour changer vers un fichier source diff rent visualiser un source tout emplacement dans le fichier se d placer travers le fichier rechercher des cha nes dans le fichier et positionner des points d arr t dans le fichier Pour une description compl te des commandes suivantes voir leurs descriptions dans les chapitres 4 et 5 La liste suivante est un bref aper u des commandes qui sont utiles quand vous d buggez du code source Rendre la fen tre code visibl si elle ne l est pas d j avec la commande WC Basculer entre les modes source mixte t code avec la commande SRC Pour basculer entre les modes entrez SRC Placer un fichier source dans la fen tre code s il n y est pas d j avec la commande FILE Par exemple pour changer du fichier actuel pour le fichier MAIN C entrez FILE MAIN C Afficher le source un emplacement sp cifique dans le fichier avec la commande U Pour changer l affichage un num ro de ligne sp cifique ou une adresse m moire utilisez la commande U Vous pouvez pr ciser l adresse actuelle ou un num ro de ligne comme param tre de la commande Par exemple pour voir l
82. e fonction peuvent tre r affect es depuis la ligne de commande ou pr affect es dans le fichier de d finitions S ICE DAT Le fichier S ICE DAT livr avec votre disquette de distribution contient les red finitions pour les 12 touches de fonction Vous pouvez modifier celle que vous voulez Les red finitions fournies le sont titre d exemple mais elles ont t cr es pour faciliter la vie aux utilisateurs de CodeView de MicroSoft Les affectations par d faut sont F1 Affiche l aide g n rale H F2 Bascule la fen tre registr WR F3 Change le mode source courant SRC F4 Restaure l cran RS F5 Retour votre programme X F6 Bascule le curseur entre la fen tre de commandes et la fen tre de code EC F7 Va jusqu au curseur HERE F8 Pas pas T F9 Positionne un point d arr t sur la ligne courante BPX F10 Trace SP F11 Aller l addresse de retour mod le large TGA SS SP F12 Affiche le num ro de version de Soft ICE VER Un accent circonflexe pr c dant une commande la rend invisible un point virgule suivant une commande repr sente un retour de chariot Vous pouvez afficher l affectation courante des touches de fonction en entrant la commande FKEY Pour utiliser une touche de fonction appuyez simplement sur la touche au lieu d en
83. e 82 du fichier source Entrez BL Vous pouvez v rifier que le point d arr t a t positionn correctement Pressez ALT D Pressez une touche autre que Escape a Vous voil de retour dans Soft ICE Reamrquez que l instruction courante la ligne avec la barr n vid o inverse st l instruction qui suit celle ayant provoqu le point d arr t Pour voir le code actuel pressez F3 Ceci place Soft ICE en mode mixte Notez que la barre en vid o inverse recouvre deux lignes Il y a la ligne de code actuell t la ligne de source correspondante Pressez la touche F3 nouveau Vous tes de nouveau en mode code Les lignes de source ne sont plus visibles L instruction au dessus de la barr n vid o invers st celle ayant caus le point d arr t Pressez la touche F3 nouveau pour revenir en mode source Vous pouvez maintenant corriger le bug dans le programme d exemple Sortez du programme d exempl t revenez sous DOS en entrant EXIT RD Rechargez le programm xempl n entrant LDR SAMPLE EXE Positionnez la fen tre de cod n mode cod n pressant 2 fois la touche F3 D sassemblez la routine d faillante en entrant U not_space Vous allez maintenant utiliser l aasembleur interactif de Soft ICE pour corriger le probl me Entrez A not _ space Soft ICE vous r pond en affichant l adresse Entrez NOP Pressez ENTER pour sortir
84. e compte de la d gradation des performances Certaines personnes ne trouvent pas g nant de rester par d faut en mode BREAK Remettez le mode BREAK OFF en entrant ALT D BREAK OFF ALT D Refaites quelques directories pour comparer la vitesse Voil C est termin Il est temps d exp rimenter et de d bugger par vous m me Feuilletez le reste du manuel et r f rez vous certaines sections si n cessaire SECTION II Commandes La Section II contient la liste des syntaxes de chaque commande de Soft ICE des explications et des exemples pour chaque commande Tous les nombres sont en hexad cimal tout nombre peut tre un expression utilisant ou des registres Les commandes peuvent tr ntr es en majuscules ou en minuscules Les parties en italique dans l exemple de syntaxe doivent tr remplac es par leur valeur actuelle Les conventions de notation suivantes sont utilis es tout au long de cette section Les Crochets entourent un param tre optionnel lt gt Entourent une liste d objets ou de choix x y Les barres Verticales s parent plusieurs alternatives utilisez soit l objet x soit l objet y count Count est une valeur sur un octet qui pr cise le nombre de fois que les conditions d un point d arr t doivent tre r unies pour que celui ci se produise Si count n est pas pr cis la valeur par d faut est 1 Cha
85. e de fonction la commande correspondante sera invisible La commande fonctionnera normalement mais toute information affich e dans la fen tre de commande messages d erreur inclus est supprim e Le mode invisible est utile quand une commande change une information dans une fen tre code registr ou donn es mais que vous ne voulez pas encombrer la fen tre de commandes A Quand une touche de fonction est rendue invisible avec la touche de fonction peut tr mploy e au milieu de l entr e d une autr commande sans affecter cett ntr e Par exemple si vous utilisez l affectation par d faut pour F2 vous pouvez basculer la fen tre de registre avec F2 m me si vous tes en train d entrer votre prochaine commande Note Soft ICE a maintenant un fichier de d finition nomm S ICE DAT Vous pouvez placer des affectations de touches de fonction dans ce fichier si bien que ces touches de fonction seront automatiquement affect es quand Soft ICE sera charg La syntaxe pour affecter une touche de fonction dans le fichier de configuration est nom touche fonction cha ne Quand vous affectez une touche de fonction une cha ne de commande dans S ICE DAT la cha ne doit tre incluse dans des guillemets on an xemple de ligne de commande FKEY F2 WR Cet exemple attribuera la commande de basculage de la fen tre registre a la touche F2 Le rend la
86. e donn es 53 CLS fface la fen tr 68 CSIP Set CS IP range qualifier 33 CTRL P Bascule l impression de la session courante 65 D Affiche la m moire 41 E Edite la m moire 41 EC Entr e sortie de la fen tre cod 61 EMMMAP Affiche la carte de l allocation EMM 59 EXIT Force la sortie du programme DOS actuel 47 F Remplit la m moire avec une donn 53 FILE Modifie affiche le fichier source courant 71 FKE Affichage et dition des touches de fonction 63 FLASH Restaure l cran durant P et T 66 FLICK R duction du flicker 66 G Aller une addresse 45 GENINT Forcer une interruption 47 HBOOT Reset hard du syst me reset total 49 HERE Ex cuter jusqu la ligne du curseur 46 I Lecture d un port I O 44 13HERE Redirige l Interruption 3 vers Soft ICE g1 INT Affichela derni re interruption appel e 42 M D place une donn 53 MAP Affiche la carte m moire du syst me 40 O Ecriture sur un port I O 44 P Saut dans un programme 46 PAUSE Pause apr s chaque cran 62 Print Screen Imprime le contenu de l cran 65 PRN Positionne le port de sortie imprimante 65 R Affiche ou modifie un registr 39 RS Restaure l cran du programme 67 S Cherche une donn SHOW Affiche les instructions du buffer d historique SNAP Take snap shot of memory block SRC Bascule entre source m lang et cod S9 Cherche un cha ne dans le fichier source courant SYM Affiche po
87. e fonctionne pas Retournez dans Soft ICE par ALT D Comme le bug s est d j produit vous devez relancer le programme Entrez EXIT RD Cette commande force le programm xemple se terminer Le R indique Soft ICE de restaurer les vecteurs d interruption dans l tat o ils taient quand le programm xemple a t charg avec LDR Le D indique Soft ICE d effacer tous les points d arr t pouvant encore se trouver en m moire Le R et le D ne sont pas n cessaires dans ce cas mais c est une bonne habitude prendre avant de quitter un programme charg par LDR EXE Vous tes de nouveau sous DOS Rechargez le programme en entrant LDR SAMPLE EXE Remarquez que le suffixe EXE a t pr cis cette fois ci Quand le suffix st sp cifi Soft ICE n essaie pas de charger les symboles ou le source Dans notre cas les symboles et le source sont toujours en m moire Entrez SYM Ceci affiche les symboles publics du programme exemple Pressez ESC pour revenir au prompt Nous voulons maintenant positionner un point d arr t domaine m moire similaire celui utilis lors de la session avec DEBUG Cette fois ct nous utiliserons les symboles pour positionner le point d arr t Entrez BPR START 82 W Ceci positionne un point d arr t domaine m moire dans votre segment de code du symbole START la lign
88. e l cran une ligne vers le haut SHIFT __ scrolle l cran une ligne vers le bas PAGE UP scrolle l cran une page vers le haut PAGE DN scrolle l cran une page vers le bas BKSP efface le caract re pr c dent ESC annule la commande courante Il y a des assignations de touches sp ciales quand le curseur est dans la fen tre de donn es ou dans la fen tre de code Elles sont d crites dans les sections concernant respectivement les commandes E et EC Une assignation particuli re noter est SHIFT _ et SHIFT _ quand le curseur est dans la fen tre de code Ces touches sont r assign es pour avoir la m me fonction que les touches _ et _ ont normalement De cette facon vous pouvez rappeler les pr c dentes commandes tandis que le curseur est dans la fen tre de cod 3 7 Ligne d Etat Interactive Une ligne d tat au bas de la fen tre fournit une aide interactive et la syntaxe des commandes 3 8 Syntaxe des Commandes Soft ICE est un outil de d bugging g r par ligne de commande Pour interagir avec Soft ICE vous entrez des commandes parfois modifi es par des param tres Toutes les commandes sont des cha nes contenant de un six caract res en majuscules ou minuscules Tous les param tres sont des cha nes ASCII ou des expressions Les expressions sont normalement des nombres mais peuvent aussi tre des combinaisons de nombres et d
89. e la quantit de m moire utilisable de syst me plus de 640K La m moire backfilled est disponible sous DOS Si vous ne voulez pas de m moire backfilled employez EMMSETUP pour rendre les pages non mappable X l endroit ou vous d sirez que se termine votre m moire syst m Note Les syst mes uniquement monochromes MDA peuvent backfill jusqu BOOOH pour ajouter un suppl ment de 64K la m moire conventionnelle les syst mes CGA peut tre backfilled jusqu B800 pour ajouter un suppl ment de 96K la m moire conventionnelle Les syst mes EGA et VGA peuvent tre backfilled seulement si aucun programme graphique ne doit trr x cut Avertissement Si la m moire est backfilled NE D CHARGEZ PAS Soft ICE Le faire planterait votre syst me 8 3 2 Localisation Automatique du cadre de page Beaucoup de programmes connus requi rent un cadre de page de 64K inemploy comme m moire DOS normale C est normalement situ au dessus de la zone de la m moire vid o Cependant dans certains syst mes il y a aucune zone de 64K contigus pour placer le cadre de page Dans ce cas S ICE EXE vole 4 pages mappables en m moire basse Le r sultat net est que la m moire DOS r tr cit de 64K 8 4 D bugging sous EMM Un point d arr t domaine ou un point d arr t m moire qui est dans une zone EMM restera cette adre
90. e param tre adresse d part soit pr cis Dans ce cas l ex cution commence adresse d part L ex cution continue jusqu ce que adresse arr t soit atteinte que la s quenc de touches de sortie soit employ e ou qu un point d arr t permanent survienne Adresse arr t doit tre le premier octet d une instruction Quand l adresse arr t sp cifi st atteinte le CS IP pointera sur l instruction o le point d arr t tait positionn La commande G sans param tre se comporte comme la commande X Le point d arr t d ex cution temporaire utilise un point d arr t registre du 80386 moins que tous les point d arr t registre aient t affect s aux points d arr t permanents Dans ce cas un point d arr t de style INT3 est utilis Quand ce cas survient les commandes G et P ne fonctionneront pas correctement dans la ROM Un message d erreur sera affich Exemple G CS 1234 Cette commande positionne un point d arr t utilisation unique CS 1234 T T Trace une instruction Syntaxe T start adresse compte Commentaires Les commandes de type T passent une instruction apr s l autre en utilisant le drapeau pas pas L ex cution commence au CS IP moins que le param tre start adresse soit pr cis Si start adress st pr cis CS IP est modifi en start adresse avant la trace e Si compt st pr cis la commande TRACE sera ex cut e j
91. e source dans la fen tre de code en commen ant la ligne de source 450 entrez U 450 Trouver l instruction actuelle dans la fen tre code avec la commande le point Rechercher une cha ne de caract res particuli re avec la commande S Par exemple pour chercher la cha ne Bonjour Monde en commen ant ligne 100 dans le fichier source actuel entrez SS 100 Bonjour Monde D placer le curseur vers la fen tre de cod s il n y est pas d j avec la commande EC Faire d filer le source avec les touches haut bas PaqeUp PageDn Postionner des points d arr t avec la commande BPX Placer simplement le curseur sur la ligne de source o vous d sirez positionner le point d arr t entrez alors BPX CHAPITRE 8 Le support de la m moire pagin e 8 1 Introduction 8 2 Configuration de l environnement EMM 8 2 1 Pages EMM par d faut 2 2 1 Inclure et Exclure des zones de EMM Autres caract ristiques de EMM Accroitre la M moire Conventionnelle Localisation Automatique du cadre de page D bugging sous EMM s1 2 o 00 00 AaAWWWUNN 8 1 Introduction Soft ICE a un gestionnaire de m moire pagin e dans son noyau gestionnaire Personnalisation de la carte des pages EMM Le de m moire pagin e de soft ICE supporte les sp cifications Lotus Intel Microsoft 4 0 Cette caract ristique de Soft ICE est utile si vous utilisez des
92. e touche shift est peut tre bloqu e logiquement basse Essayer d appuyer puis de relacher chaque shift control et alt Soft ICE ne peut pas restaurer l affichage correctement Soft ICE a une mulation vid o puissante qui lui permet de simuler beaucoup de modes graphiques sp ciaux Activez ce mode par la commande WATCHV ON Regardez la description de la commande WATCHV pour plus de d tails Pour des contr leurs vid o non compatibles et pour certains modes rares il vous faudra utiliser un deuxi me moniteur Voir la commande ALTSCR La machine se bloque quand vous tes dans Soft ICE ou quand vous d placez la fen tre de Soft ICE Soft ICE a des probl mes de timing avec certains claviers Utilisez la commande NOLEDS dans S ICE DAT Ceci emp che Soft ICE d envoyer des commandes aux LED s du clavier
93. ec le linker Microsoft version 3 60 ou sup rieur Les fichiers source et symboles sont stck s dans la m moire tendu Vous devez avoir suffisament de m moire tendue pour les fichiers source et symboles Les fichiers source ne sont pas charg s depuis le disque comme dans beaucoup de d buggers Cela permet Soft ICE de fournir un syst me complet de d bugging niveau source vous pouvez d bugger des T amp SR des routines d interruption et d autres syst mes de code niveau source Note Vous ne pouvez pas utiliser le d bugging symbolique ou niveau source si Soft ICE n a pas t charg comme pilote de p riph rique dans CONFIG SYS 7 2 Pr paration pour d bugging symbolique ou source Avant de d bugger un programme avec des symboles ou un source vous devez cr er un fichier de symbole C est un fichier binaire qui contient l information de num ros de lign t de symboles dans un format que Soft ICE peut comprendre Ce fichier est cr avec l utilitaire MSYM EXE MSYM EXE lit dans votre fichier MAP pour cr er un fichier de symbole avec l extension SYM 7 2 1 Pr paration pour d bugging symbolique seulement Pour pr parer un programme pour un d bugging symbolique seulement vous devez suivre les tapes suivantes 1 Compiler ou assembler votre programme 2 Linker votre programme avec les commutateurs adapt s pour cr er
94. ement Soft ICE ne surveille les ports vid o qu apr s qu une INTI0 ait t ex cut e si elle bascule en mode graphique Certains programmes n emploient pas INT10 pour changer de mode Dans ces cas l si WATCHV est OFF Soft ICE peut avoir des probl mes pour sauver et restaurer l cran correctement En basculant WATCHV ON on oblige Soft ICE surveiller les ports vid o tout le temps T En Basculez WATCHV sur ON si vous remarquez que Soft ICE ne g re pas votre cran correctement ou si le curseur n est pas restaur correctement L fait de basculer WATCHV sur ON peut avoir des effets sur les performances dans certains modes vid o Si aucun param tre n est pr cis l tat actuel de WATCHV est affich Le mode par d faut de WATCHV est OFF Exemple WATCHV ON Cette commande met WATCHV en mode ON Cela force Soft ICE surveiller des ports vid os suppl mentaires dans un but de virtualisation RS RS Restaure l cran de programme Syntaxe RS Commentaires La commande RS vous permet de restaurer l cran du programme temporairement La fen tre Soft ICE fen tre dispara t jusqu ce qu une touche soit press e Cette caract ristique est utile en d buggant des programmes graphiques qui mettent jour l cran fr quemment Quand Soft ICE est r activ il revient n mode texte L utilisation de la commande RS restaur temporairement l
95. en mode WIDE 3 5 D placement de la fen tre i La fen tre de Soft ICE est d pla abl t peut tre positionn e nimporte o sur l cran Ceci est tr s utile quand la fen tr st en mode NARROW D placez la fen tre chaque fois que vous souhaitez voir des informations sur l cran qui se trouvent sous la fen tre Les touches suivantes seront utilis es pour d placer la fen tre CTRL remonte la fen tre d une cas CTRL _ descend la fen tre d une cas CTRL gt d place la fen tre d une case vers la droite CTRL lt d place la fen tre d une case vers la gauche 3 6 Touches d dition de ligne L diteur de ligne de Soft ICE vous permet de rappeler et d diter les commandes pr c dentes Les fonctions de l diteur de ligne sont identiques celles du populaire diteur de lignes CED Les s quences de touches suivantes vous aideront diter les commandes dans le fen tre de commande d place curseur vers la droite lt d place curseur vers la gauche INS bascul n mode insert DEL efface le caract re courant HOME d place le curseur au d but de la ligne END d place le curseur la fin de la ligne affiche la commande pr c dente affiche la commande suivante SHIFT __ scroll
96. ent Exemple SYMLOC 1244 10 Ceci reloge tous les segments de la table de symbole 1244 L 10 est employ pour reloger un TSR qui tait l origine un fichier EXE S il s tait agi d un fichier COM le 10 n tait pas n cessaire SRC SRC Bascule entre source m lang et cod Syntaxe SRC Commentaires La commande SRC bascul ntre les modes source m lang et code dans la fen tre code Si SRC est entr l tat actuel est affich Exemple SRC Cette commande change la mode actuel de la fen tre de code Si le mode tait source il devient mixte Si le mode tait mixte L devient code Si le mode tait code L devient source il il La touche de fonction par d faut F3 FILE FILE Modifie affiche le fichier source courant Syntaxe FILE nom fichier Commentaires Si nom fichier est pr cis ce fichier devient le fichier courant et le d but du fichier est affich dans la fen tre code Si aucun nom n est pr cis le nom du fichier source actuel s il existe est affich La commande FILE est souvent utile quand on positionne un point d arr t sur une ligne qui n a aucun symbole public associ Utilisez FILE pour amener le fichier d sir dans la fen tr code employez la commande SS pour situer la ligne sp cifique d placer le curseur sur la ligne sp cifique
97. er votre syst me pour que les modifications prennent effet 2 Lancez Soft ICE S ICE Avant son chargement depuis le prompt DOS en entrant Soft Ice affiche un message de chargement et un prompt Pour viter ce prompt incluez le mot EXTENDED dans le fichier S ICE DAT Voir la section 6 4 pour plus d informations sur le fichier S ICE DAT automatiquement en haut de la m moire tendu y ait ou non quelque chose cet endroit r En utilisant cette m thode Soft ICE est charg qu il Si vous tes s r de n avoir aucun programme qui utilise la m moir tendue cette m thod st acceptable Quand il est charg avec cette m thode Soft ICE n occupe AUNCUN octet en m moir conventionnelle S ICE Notes La commande utiliser est Vous ne pourrez PAS activer toutes les possibilit s de Soft ICE chargeant depuis la ligne de commande Soft ICE comme d bugger unique fichier CONFIG SYS Si vous souhaitez charger Soft ICE comme un pilot Si vous souhaitez utiliser il est recommand de le charger depuis le ar n de p riph riqu 1 mais que vous ne souhaitez pas que Soft ICE rest n permanence r sident vous devez utiliser l option UN au chargement Voir la section 6 3 1 pour plus d informations 2 2 3 Configuration de Soft ICE pour une Installation Personnalis e vous pouvez per
98. ermet de sauver et de restaurer la table d interruptions dans un buffer interne de Soft ICE La table r elle peut aussi tre compar e avec la table sauv t les diff rences affich es Quand l option C est employ e pour comparer la table des vecteurs d interruption courante avec la copie emmagasin e la sortie est au format suivant adresse vieux vecteur nouveau vecteur Tout vecteur ayant chang est affich La table des vecteurs d interruption est tout d abord sauv e quand Soft ICE est charg Elle est aussi sauv e automatiquement quand un programme est charg avec LDR EXE Une seule copie de la table des vecteurs d interruption est sauv e donc chaque fois que VECS S est appel la copie pr c dente de la table d interruption est effac e Si aucun param tre n est pr cis l int gralit de la table des vecteurs d interruption est affich e Exemple VECS C Cette commande compare la table des vecteurs d interruption actuelle avec une table qui avait t sauvegard e auparavant dans le buffer interne de VECS de Soft ICE SNAP SNAP Fait une copie d un bloc de m moire Syntaxe SNAP C S R address1l address2 C Comparer le buffer avec un domaine d adresses S Sauver un domaine d adresses dans le buffer R Restaurer le buffer vers un domaine d adresses Commente La commande SNAP fait une copie d un bloc m
99. erruption Syntaxe INT Commentaire La commande INT affiche l adress t le num ro de la derni r interruption qui s est produite Exemple INT Un exemple de l affichage produit par la commande INT Last Interrupt 16 At 0070 0255 Cet exemple montre que la derni re interruption g n r e dans le syst me avant que Soft ICE soit activ tait l interruption 16H l adresse 0070 0255H Si la derni re interruption qui est survenue tait une interruption logicielle le d sassemblage du code l adresse 0070 0255H montrera l instruction d interruption Si c tait une interruption mat rielle le d sassemblage du code montrera l instruction qui s ex cutait quand l interruption mat rielle est survenue ou H ou H Affiche des informations d aide Syntaxe lt H gt commande expression Commentaires La commande et La commande H affichent toutes les deux les informations d aide Si aucun param tre n est pr cis l aide affiche une courte description de toutes les commandes et op rateurs un cran la fois Presser une touche pour continuer ou ESC pour abandonner l aide Si command st pr cis l aide affiche une information plus d taill e sur la commande pr cis e incluant la syntaxe de la commande et un exemple Si expression est pr cis e l expression est valu t le r sultat est affich en hexad cimal d cimal et ASC
100. es suivantes 1 Compiler ou assembler chaque module que vous d sirez d bugger au niveau source avec le commutateur appropri pour mettre les informations de num ros de ligne dans les fichiers objets Avec les langages Microsoft langages vous pouvez employer les commutateur Zi ou Zd Vous pouvez ne pas vouloir faire cela avec tous les fichiers parce que les tailles combin es du fichier de symbole et de tous les fichiers source compil s avec ces commutateurs doivent rentrer dans la m moire tendue que vous avez r serv e avec le commutateur SYM dans CONFIG SYS 2 Linker votre programme avec les commutateurs propres cr er un fichier MAP qui contient les num ros de ligne du sourc t une liste des symboles publics Si vous utilisez le linker Microsoft les commutateurs employer sont LI et MA Le fichier MAP doit tre identique au fichier MAP produit par le linker Microsoft version 3 60 ou sup rieure 3 Cr er un fichier SYM en lan ant MSYM EXE La syntaxe pour utiliser MSYM EXE est MSYM nom programme extension Si l extension n est pas pr cis e MSYM suppose que l extension est MAP MSYM lit dans un fichier MAP et crit dans un fichier symbole Le fichier symbole a le nom nom programme SYM 7 3 R servation de m moire pour le fichier source et les symboles Avant de charger des programmes des fichiers source et des
101. este du didacticiel Testons maintenant la commande Pour quitter la fen tre pressez ALT D 5 La fen tre Soft ICE a disparu Pour r activer Soft ICE relachez ALT et tapez ALT D La fen tr st r ouvert Pour voir certaines des commandes pr c dentes pressez _ plusieurs fois Remarquez que Soft ICE se souvient des derni res commandes entr es Essayez d en diter une juste pour voir Les touches d dition sont INS Bascule le mode Insertion ON ou OFF DEL Efface un caract re HOME D place le curseur au d but de la ligne END D place le curseur la fin de la ligne gt D place le curseur d une case vers la droite lt D place le curseur d une case vers la gauche Quand on est en mode insertion notez le curseur en forme de pav Maintenant que vous voil un peu plus familiaris avec l environnement essayons quelques nouvelles commandes Effacez la commande que vous ditiez en pressant la touche HOME puis le touche DEL jusqu effacement de la commande Entrez WR La commande WR rend la fen tre de registre visible La fen tre de registre affiche le contenu des registres du 8086 Remarquez que la valeur des registres refl te l endroit o le code tait ex cut quand vous avez activ Soft ICE Augmentez la taille verticale de la fen tre So
102. eur ou en mode mixte Quand CODEVIEW est en mode source avec des langages de haut niveau les points d arr t ne fonctionnent pas toujours correctement Il est toujours pr f rable d utiliser ACTION NMI quand vous voulez que Soft ICE active CODEVIEW 11 1 5 D buggers utilisant les points d arr t registre du 80386 Le 80386 a 4 points d arr ts registre disponibles pour l utilisation par des d buggers Soft ICE les utilise pour ses points d arr t m moire octets mot et double mot Si le d bugger que vous utilisez avec Soft ICE les utilise aussi il y aura un conflit Il y a deux mani res de r soudre ce probl me 1 D sactiver l utilisation des points d arr t registre du 80386 dans le d bugger que vous utilisez avec Soft ICE V rifier la documentation de votre autre d bugger pour une description de cette fonction 2 Certains d buggers emploient automatiquement les registres de point d arr t s ils d tectent un processeur 80386 sans aucune m thode pour les d sactiver certaines versions de SYMDEB proc dent ainsi Pour ces d buggers proc der ainsi Activer la fen tre Soft ICE avant de lancer l autre d bugger Activer le mode BREAK de Soft ICE avec la commande BREAK vous pouvez faire cela dans le la commande INIT de S ICE DAT si vous faites cela fr quemment Lancez votre autre d bugger Vous pouvez maintenant activer
103. fen tre code n est pr sente alors une fen tre code de 12 lignes de hauteur est cr e Si la fen tre code est actuellement l cran sa taille est ajust e 12 lignes WD WD Bascule r gle la taille de la fen tre donn es Syntaxe WD taille fen tre taille fen tre un nombre d cimal entre 1 et 21 Commentaires Si taill fen tre n est pas pr cis e cette commande bascule la fen tre donn es Si elle n tait pas visibl ME st rendue visible si elle tait visible elle est effac e Si taille fen tr st pr cis e la taille de la fen tre donn es est modifi e ou si elle n tait pas visibl 11 st rendue visible avec la taille pr cis e Exemple WD 1 Si aucune fen tre donn es n est pr sente alors une fen tre donn es de 12 lignes de hauteur est cr e Si la fen tre donn es est actuellement l cran sa taille est ajust e 1 ligne EC EC Entre sors de la fen tre cod Syntaxe zz C Commentaires La commande EC bascule le curseur entre la fen tre cod t la fen tre de commandes Si le curseur tait dans la fen tre de commandes il est d plac dans la fen tre code et si le curseur tait dans la fen tre code il est d plac dans la fen tre de commandes Quand le curseur est dans la fen tre code plusieurs options deviennent disponibles et ce
104. fer d historique TRACE Entr n mode simulation de trace XT Pas seul en mode simulation de trace XP Pas de programme en mode simulation de trace XG Va l adresse en mode simulation de trace XRSET Reset du buffer de trace arri r VECS Sauve restaure compare des vecteurs d interruption SNAP Fait une copie d un bloc m moire EMMMAP Affichage de la carte d affectation EMM SHOW SHOW Affiche les instructions du buffer d historique Syntaxe SHOW B d but B Cela indique la commande SHOW de commencer l affichage avec l instruction la plus ancienne dans le buffer de trace arri r d but Le nombre d instructions en arri re depuis la fin du buffer la derni re instruction captur e pour commencer l affichage Commentaires La commande SHOW affiche les instructions du buffer historique de trace arri re Si le source est disponible pour les instructions alors l affichage st en mode mixte autrement le code seul est affich SHOW permet le d filement dans le buffer avec les touches haut bas Pageup et PageDn Pour sortir de SHOW vous devez presser la touche ESC Devant l adresse de chaque instruction il y a le num ro d entr e dans le buffer Ce nombre montre la profondeur dans le buffer que vous affichez Plus le nombre est grand plus vous tes profond dans le buffer Notes Avant d utiliser la commande SHOW les instructions doivent avoir
105. fichiers de symboles vous devez r server de la m moire tendue pour eux La m moire tendu est r serv e quand vous chargez Soft ICE dans CONFIG SYS Avant de r server la m moire tendue vous devez ajouter les tailles du fichier SYM et de tous les fichiers source que vous voulez charger Vous devez r server au moins autant de m moire tendu Vous devez employer le commutateur de chargement SYM en chargeant S ICE EXE Un xemple de ligne dans CONFIG SYS pour charger Soft ICE et r server de la place pour les fichiers source et symboles est DEVICE S ICE EXE SYM 1024 Cet exemple charge Soft ICE en m moire tendu t r serve 1 m ga octet de m moire pour les fichiers source et symboles Voir la section 6 3 Chargement de Soft ICE comme un pilote de p riph rique pour plus de d tails sur les r servations de m moire 7 4 Chargement des Programmes et des fichiers symboles L utilitaire LDR EXE est employ pour charger des programmes des fichiers de symboles et des fichiers source Pour faire du d bugging symbolique sur des programmes d application et des T amp SR vous devez utiliser LDR EXE pour charger le programme les fichiers source et les symboles en une seul op ration Pour d bugger des pilotes de p riph riques des ROMS et autres composantes du syst me vous emploirez LDR EXE po
106. ft ICE avec les touches ALT et _ Jusqu ce qu elle occupe tout l cran Notez les valeurs de registres CS et IP dans la fen tre registre puis tapez MAP La commande MAP affiche une carte de la m moire syst me La zone dans laquelle se trouve le pointeur d instructions CS IP est en surbrillance Si votre carte m moir st complexe il vous faudra plusieurs appuis touche pour retrouver le prompt Essayez maintenant la s quence suivante plusieurs fois en notant la valeur du registre CS 1IP ALT D Relachez ALT et D ALT D Chaque fois que la fen tre s affiche vous pouvez remarquer que la valeur des registres CS et IP a chang Quand CS et IP changent vous pouvez entrer la commande MAP nouveau pour voir si le pointeur d instructions pointe sur une zone diff rent Ce petit exercice d montre que Soft ICE est un d bugger que l on peut activer o que soit le pointeur d instructions lorsqu on presse la s quence de touches qui permet de lancer Soft ICE Le pointeur d instructions change continuellement car il se passe une foule d choses dans votre machine m me si vous tes sous le prompt du DOS telles que gestion des interruptions surveillance des pilotes de p riph riques etc Pressez la touche de fonction F12 La touche de fonction F12 est assign e par d faut la commande VER Cette commande affiche le message de copyright de Soft ICE et son num r
107. ggers n peuvent pas travailler correctement si un point d arr t survient tandis que le DOS ou la ROM BIOS travaillent Si WARN est positionn sur ON et si ACTION n est pas HERE alors le contr le sera donn Soft ICE avant que l action r elle ne survient Le syst me affiche le CS IP et vous donne le choix entre continuer ou revenir Soft ICE G n ralement vous devriez choisir de revenir Soft ICE pour continuer votre d bugging Ne continuez avec le d bugger h te que si vous savez que votre d bugger ne forcera pas DOS ou la ROM BIOS r entrer a Le mode WARN devrait tre sur ON pour employer Soft ICE avec DEBUG SYMDEB et CODEVIEW Si aucun param tre n est pr cis l tat actuel de WARN est affich Le mode par d faut de WARN est OFF Exemple WARN ON Cette commande met sur ON l avertissement de r entrance DOS ROM BIOS BREAK BREAK Arr te nimporte quel moment Syntaxe BREAK ON OFF Commentaires La commande BREAK permet d activer la fen tre Soft ICE quand le syst me est plant avec les interruptions d sactiv es Le mode BREAK peut tre employ e pour la s ance de d bugging enti re ou il peut tre mis ON et OFF quand cela est requis Le mode BREAK d grade l g rement les performances de votre syst m Cette d gradation de performances doit tre mise en bascule avec
108. her 80386 control programs Le 80386 ne permet l ex cution que d un seul programme n mode prot g la fois et donc Soft ICE ne peut pas cohabiter avec d autres programmes de contr le En d buggant des programmes utilisant de l EMS et de L EEMS vous pouvez obtenir ce message d erreur quand vous essayez de charger Soft ICE car certains syst mes 80386 sont livr s avec un programme de contr le qui utilise le syst me de pagination du 80386 pour vous fournir de l EMS et de l EEMS avec une carte qui ne comporte que de la m moire tendu Vous pouvez naturellement utiliser une vraie cart de m moire pagin e pour d bugger des programmes utilisant de l EMS et de l EEMS Soft ICE has already been loaded Ce message s affiche si vous essayer de lancer un X deuxi me fois Soft ICE Soft ICE has not been loaded Ce message s affiche si vous essayez de d charger Soft ICE alors qu il n a jamais t charg Soft ICE loads at the top of extended memory This may conflict with other programs that use extended memory If you are sure it will not conflict then answer Y otherwise answer N and refer to the chapter on loading Soft ICE with extended memory Ce message survient si vous tentez de charger Soft ICE n m moire tendu t que S ICE SYS n a pas t charg par votre fichier CONFIG SYS Cet avertissement sert viter que v
109. herche une cha ne dans le fichier source courant 51 52 53 53 53 54 59 55 56 56 57 57 58 59 59 60 60 61 61 62 62 63 64 65 65 65 66 66 67 67 68 68 68 69 70 71 7L 71 APPENDICE B LISTE ALPHABETIQUE DES COMMANDES Commande Description Page Trouve l instruction courante 61 or H Affiche l aide 43 A Assemble du code 51 ACTION d termine l action ex cuter lorsqu un point d arr t est atteint 49 ALTKEY Modifier la s quence de touches permettant d activer soft ICE 62 ALTSCR Bascule sur le deuxi me cran 68 BASE Positionne affiche la base de num ration 64 BC Efface les points d arr t 37 BD D sactive un point d arr t 35 BE Active un point d arr t 35 BL iste les points d arr t 36 BOOT Reset du Syst me Soft ICE reste pr sent 48 BPAND Attend l arriv e de plusieurs points d arr t 34 BPE Edite un point d arr t 36 BPINT Positionne un point d arr t sur une interruption 32 BPIO Positionne un point d arr t sur un acc s un port I O 31 BPM Positionne un point d arr t sur un acc s m moire ou une ex cution 29 BPR positionne un point d arr t sur un domaine m moire 31 BPT Utilise un point d arr t comme template 3 7 BPX Positionne ou retire un point d arr t ex cution 33 BREAK Break accessible nimporte quand 50 C Compare deux blocs d
110. iendra la premi re fois que l instruction adresse CS 1235 est atteinte Le CS IP courant sera l instruction o le point d arr t tait positionn BPMW DS FOO W EQ M OXXX XXXX XXXX XXX1 Cette commande d finit un point d arr t mot sur les critures m moire Le point d arr t surviendra la premi re fois que l emplacement DS FOO verra sa valeur crite avec le bit de poids fort 0 et le bit de poids faible 1 Les autres bits sont indiff rents BPM DS 1000 W GT 5 Cet ordre d finit un point d arr t octet sur les critures m moire Le point d arr t surviendra la premi re fois qu il y aura criture en DS 1000 d une valeur sup rieure 5 BPR BPR Positionne un point d arr t sur un domaine m moire Syntaxe BPR adresse d but adresse _ fin verbe C count adresse _ d but adresse fin adresse _ d but et adresse _ fin d finissent le domaine m moire verbe R W RW T ou TW Commentaire La commande BPR vous permet de positionner un point d arr t sur une zone de m moir Tous les types de verbe sauf T ou TW forcent le programme ex cuter l instruction qui a caus le point d arr t Le CS IP courant pointera l instruction suivant le point d arr t Il n y a aucun point d arr t domaine sur une ex cution Si un point d arr t domaine est d sir sur une ex cution R doit tr mploy L d codage d un instruction est consid r comme une lecture pour des points
111. interruption 0 dans la machine virtuelle DOS Ce message arrive souvent lorsqu un programme ex cute un saut vers une adresse ne contenant pas de code valide ou dont le code a t alt r Attempt To Divide By 0 cs Ce message est affich lorsque Soft ICE value un xpression et que le diviseur d une division est gal 0 BPM Break Point Limit Exceeded Soft ICE autorise un maximum de 4 points d arr t m moire Ce messag st affich si vous tentez de d passer cette limite Break Point Table Full Soft ICE autorise un maximum de 16 points d arr t Ce message est affich si vous tentez de d passer cette limite Count Too Large La commande Point d Arr t de Soft ICE permet d entrer une valeur optionnelle count Ce champ peut contenir une valeur maximum de FFH Ce message d erreur est affich si la valeur sp cifi st sup rieure FFH DOS Memory Structures Corrupted Ce message est affich si Soft ICE d tecte un probl me dans le cha nage des blocs m moire DOS lors de l utilisation de la commande MAP Ce message peut aussi se produire si vous utilisez la commande MAP avec un syst me d exploitation non DOS Duplicate Break Point Lorsqu un point d arr t est entr Soft ICE compare les conditions de ce dernier aves celles des points d arr t pr c demment entr s S il touve des correspondances ce message est affich Interrup
112. ir besoin de certaines caract ristiques qui imposent Soft ICE d tre charg dans CONFIG SYS mais vous ne voulez pas que Soft ICE soit r sidant tout le temps Dans ce cas Soft ICE peut charg dans CONFIG SYS pour r server de la m moire tendue puis d sactiv en utilisant le commutateur UN jusqu ce que Soft ICE soit n cessaire Voir la section 6 3 1 pour plus d informations sur le commutateur UN tr 6 2 Chargement de Soft ICE depuis le prompt du DOS i Vous NE pouvez PAS activer toutes les caract ristiques de Soft ICE en le chargeant depuis le prompt DOS Si vous utilisez Soft ICE comme un d bugger seul il est recommand de le charger dans le fichier CONFIG SYS ws Pour charger Soft ICE depuis le prompt du DOS entrez S ICE Dans les syst mes sans m moire tendue Soft ICE se charge lui m me dans le plus haut emplacement m moire possible La m moire utilis e par Soft ICE est alors rendue invisible aux programmes DOS Malgr s que la m moir totale visible par DOS et ses programmes soit moindre apr s le chargement de Soft ICE il est recommand de charger Soft ICE avant tout programme T amp SR Dans des syst mes avec de la m moire tendue vous ne devriez charger Soft ICE depuis le prompt DOS que si vous n avez pas utiliser la m moire tendue pour autre chose ex VDISK CACHE HIMEM Quand vous chargez in
113. istiques du programme Sof E TCE points d arr t en temps r el sur les n m moire lectures critures de ports domaines m moire et interruptions historique des traces arri res lectures critures d bugging niveau source et symbolique un environnement fonctionnant avec les d buggers existants support complet de l EMM 4 0 a une fen tre pouvant tre appel e tout instant la possibilit de sortir par un appui touche m me si les interruptions sont d sactiv es le code du debugger est isol par 1 mode prot g du 80386 Cel emp che un programme errant de modifier ou de d truire Soft ICE Le m me si DOS se plante Soft ICE continue fonctionner la possibilit de configurer Soft IC utiliser de m moire conventionnelle si votre machine E pour ne pas poss de plus de 640K une aide en ligne dynamique la possibilit d tre utilis tout seul Cette possibilit est interressante si vous d buggez des pilotes de p riph rique des gestionnaires d interruption ou des s quences de boot o les d buggers traditionnels n ont pas acc s ou si votre d bugger a des probl mes de r entrance une possibilit de boot qui vous permet de d bugger avec des syst mes d op ration non DOS ou des programmes auto bootables une installation simple sans DIP positionner ni entr e sortie utilis e ni conflit d addressage
114. itialement Soft ICE depuis la ligne de commande ou depuis un fichier BAT Soft ICE vous avertira avec un message Ce message d avertissement ne sert qu vous rappeler que Soft ICE crase la zone la plus haute de la m moir tendue quand il se charge Vous pouvez supprimer cet avertissement avec l option EXTENDED dans le fichier de configuration S IC sur l option EXTENDED voir la section 6 4 1 ai DAT Pour plus d information 6 3 Chargement de Soft ICE comme un pilote de p riph rique Dans le but de rendre disponibles toutes les caract ristiques de Soft ICE vous devez d abord charger Soft ICE comme un pilote de p riph riqu dans votre fichier CONFIG SYS Les caract ristiques rendues disponibles sont Coexister avec autre logiciel qui emploie la m moire tendu Le chargement comme un pilote de p riph riqu ne permet Soft ICE de g rer la m moire tendu ainsi vous pouvez lancer Soft ICE avec des programmes qui emploient la m moire tendue tels que VDISK CACHE et HIMEM D bugging Symbolique et niveau source Le chargement comme un pilote de p riph riqu permet Soft ICE d affecter un buffer en m moire tendue pour les informations de source et symboles Les domaines de trace arri r t la commande SNAP Le chargement comme un pilote de p riph riqu permet
115. la n cessit de sortir d un programme plant Un utilisateur peut vouloir avoir le mode BREAK ON tout le temps bien que les performances soint d grad es parce que le programme pourrait le suspendre tout moment A la diff rence d autres d buggers qui peuvent aussi tre activ s tout moment Soft ICE ne requiert pas de commutateur externe Quand BREAK est on la fen tre Soft ICE peut tre activ e tout moment en pressant la s quence actuelle de touches Si aucun param tre n est pr cis l tat actuel de BREAK est affich Le mode de BREAK par d faut est OFF Exemple BREAK ON Cette commande met le mode BREAK ON Cela signifie que la fen tre Soft ICE peut tre activ e a tout moment m me si les interruptions sont d sactiv es 13HERE 13HERE Dirige l nterruption 3 sur Soft ICE Syntaxe 13HERE ON OFF Commentaires La commande 13HERE vous permet de pr ciser qu aucune Interruption3 n activera la fen tre Soft ICE Cette caract ristique est utile pour arr ter votre programme dans un emplacement m moire sp cifique Pour employer cette caract ristique placez un INT3 dans votre code l endroit o vous voulez l arr ter Quand l INT3 survient elle activera la fen tre Soft ICE A ce point vous pouvez utiliser la commande R IP pour changer votre pointeur d instruction
116. la fen tre Soft ICE et mettre le mode BREAK OFF si vous le souhaitez 11 2 Points d arr t utilisateur Occasionnellement vous pouvez avoir besoin d un ensemble tr s particulier de conditions de point d arr t Si des conditions sp ciales n cessitent de calculer des valeurs de registre ou des valeurs de m moire vous pouvez crire une routine de calcul de point d arr t A Soft ICE contient un m canisme tr s g n ral pour appeler des routines de calcul de points d arr t utilisateur la commande ACTION Quand vous utilisez la commande ACTION Soft ICE peut acheminer tous les points d arr t vers un vecteur d interruption sp cial Cependant avant que les points d arr t puissent tre achemin s la routine de calcul doit tre plac n m moire et le vecteur d interruption doit pointer vers la routine de calcul Tous les registres ont les m mes valeurs que quand un point d arr t Soft ICE survient Il est de la responsabilit de la routine de calcul de sauvegarder et de restaurer les registres Si votre routine de calcul d tecte une concordance avec des conditions de point d arr t elle peut faire une quantit d actions Certains exemples d actions utiles qu une routine peut faire quand une concordance est trouv e sont stocker l information pour plus tard envoyer l information directement vers une imprimante ou un
117. la rend le d bugging beaucoup plus facile Les options sont Le pointer et activer les point d arr t Le pointer et activer les points d arr t est r alis avec la commande BP Si aucun param tre n est pr cis avec la commande BPX un point d arr t d ex cution est positionn la position du curseur dans la fen tre code Le curseur doit tre sur une ligne qui contient du code placer la fen tre de cod n mode mixte si vous n tes pas s r L affectation par d faut pour BPX est F9 Aller la ligne du curseur Vous pouvez tablir un point d arr t temporaire au curseur et y aller avec la commande HERE Le curseur doit tre sur une ligne qui contient du code placer la fen tr cod n mode mixte si vous n tes pas s r L affectation par d faut pour HERE est F7 D filement de la fen tre cod La fen tre code ne peut tre scroll e que si le cursor est l int rieur Les touches de d filement fl che haut fl che bas PageUp et PageDown sont red finies quand le curseur est dans la fen tre code Quand le curseur est dans la fen tre code les touches de d filement se comportent ainsi haut la fen tre code scrolle vers le haut d une ligne bas la fen tre code scrolle vers le bas d une ligne pageup la fen tre code scrolle vers le haut d une fen tre pageDn la fen tre code scrolle vers
118. le bas d une fen tre Note La fen tre code doit tre visible pour la commande EC fonctionne La touche de fonction par d faut F6 Trouver l instruction courante Syntaxe Commentaires Quand la fen tre cod st visible la commande affiche la ligne actuelle du source ou l instruction actuelle 5 8 Commandes de personnalisation du D bugger Commandes PAUSE Pause apr s chaque cran ALTKEY Modifie la s quence de touches servant activer Soft ICE FKEY Affich t dite les touches de fonction BASE Positionne affiche la base courante de num ration CTRL P Bascule la session vers l imprimante Print Screen Imprime le contenu de l cran PRN Positionne le port d imprimante PAUSE PAUSE Pause apr s chaque cran Syntaxe PAUSE ON OFF Commentaires PAUSE contr le les pauses cran au bout de chaque page Si PAUSE est ON on vous propose de presser une touche avant l affichage de la page suivante Le prompt est affich dans la ligne de statut en bas de la fen tre Si aucun param tre n est pr cis l tat actuel de PAUSE est affich Le mode par d faut de PAUSE est ON Exemple PAUSE ON Cette commande pr cise que les commandes d affichage dans les fen tres provoqueront une attente touche apr s l affichage de chaque cran ALTKEY ALTKEY Modifie la
119. le entre la zone num riqu t la zone ASCII ESC ou ENTER Sortie de l diteur de m moir Toutes les valeurs sont valid es les emplacements m moire sont mis jour Toutes les valeurs num riques sont exprim es en hexad cimal Pour basculer entre la zone ASCII la zone num rique utilisez la touche TAB Si la fen tre de donn es est visible les donn es sont dit es dans cette fen tre sinon les donn es sont dit es dans la fen tre de commandes Les donn es sont par d faut sur une longueur de 8 lignes dans la fen tre de de commandes ou adapt es la taille de la fen tre de donn es si elle est visible Si aucun param tre n est fourni le curseur est d plac dans la fen tre de donn es si ell st visible Si la fen tre de donn es n est pas visible les donn es sont dit es dans la fen tre de commandes la derni re adresse affich e ou dit e Exemples EB 1000 0 Cette commande affiche dans le format d octet jusqu six lignes contenant les repr sentations num rique et ASCII des valeurs des donn es commen ant l emplacement 1000 0000 Une fois les lignes affich es vous pouvez diter les valeurs EB 8000 0 Bonjour OD Cette commande remplace les valeurs commen ant l emplacement 8000 0000 par la chaine Bonjour suivie par un retour chariot INT INT Affiche le num ro de la derni re int
120. le pointeur d instruction l occurence suivante de l adresse pr cis e dans le buffer de trace arri re Si R est pr cis avant l adresse alors le pointeur d instruction est d plac l occurence pr c dant l adresse pr cis e dans le buffer de trace arri r L adresse doit tre le premier octet d une instruction XG est analogue la commande G dans un d bugging normal Note Avant d utiliser XG vous devez tr n mode simulation de trace Voir le chapitre 9 et la commande TRACE dans cette section pour plus d information sur les domaines de trace arri r Exemple XG 273 1030 Cette commande d place le pointeur d instruction la prochaine instance de l instruction l adresse 273 1030 XRSET XRSET Remet z ro le buffer de trace arri r Commentaires La commande XRSET remet a z ro le buffer de trace arri re Cett commande doit tr x cut e avant de fixer un domaine de trace arri re s il y a des l informations superflues dans le buffer Exemple XRSET Cette commande remet le buffer de trace arri re z ro VECS VECS Sauve Restaure Compare des vecteurs d interruption VECS CISIR C Comparer la table actuelle avec la table sauvegard S Sauve la table d interruption courante dans le buffer R Restaure la table d interruption depuis le buffer Commentaires La commande VECS vous p
121. ll de charger Soft ICE comme premier pilote dans le CONFIG SYS avec la commande suivante device lecteur chemin S ICE EXE SYM 50 Lecteur et chemin sp cifient le r pertoir o se trouve Soft ICE Cette commande charge Soft ICE lors de l initialisation du syst me et sera tr s bonne pour le didacticiel Malgr s tout Soft ICE ne sera pas install avec certaines de ses caract ristiques les plus avanc es comme EMM 4 0 Vous pourrez reconfigurer Soft ICE avec ces possibilit s apr s avoir un peu Si vous avez d j l exp rience de Soft ICE vous voulez instal xp riment ou si reportez vous s il vous plait au chapitre 6 Installation des Options de Soft ICE Attention Lors de l installation d un pilote de p riph riqu fois sur votre syst m ler ces possibilit s imm diatement pour la premi re il est prudent d avoir port e de main une disquette syst me cette mesure prudente vous servira si par malchance le r glage par d faut du pilote n est pas compatible avec votre syst me Si vous n tes pas s r de la CONFIG SYS reportez vous au de votre syst m votre diteur d fa on d diter votre guide de l utilisateur ou au guide de l utilisateur de Apr s avoir modifi votre fichier CONFIG SYS textes pour obtenir des instructions vous devrez relanc
122. mation de d filer dans la fen tre sans presser une touche Print Screen Print Screen Imprime le contenu de l cran Syntaxe Print Screen Commentaires L appui sur la touche Print Screen fait une copie d cran sur l imprimante Toutes les informations de l cran sont envoy es l imprimante Si vous d sirez imprimer la carte de la m moire ou des information d aide il est habituellement beaucoup plus rapide d employer CTRL P que Print Screen C est parce Print Screen imprime tous les caract res sur l cran y compris les bordures PRN PRN Positionne le port de sortie imprimante Syntaxe PRN LPTx COMx x un nombre d cimal entre 1 et 4 Commentaires La commande PRN vous permet envoyer la sortie de CTRL P et de Print Screen un port imprimante diff rent Si aucun param tre n est entr PRN affiche le port d imprimante actuellement attribu Exemple PRN COM 1 Cette commande envoie les sorties de CTRL P et Print Screen vers le port COM 1 5 9 Commandes de Contr le D cran Commande FLASH Restaure l cran durant P et T FLICK R duction du Flicker WATCHV Positionne le mode de surveillance vid o RS Restaure l cran de programme CLS Efface la fen tre ALTSCR Changement d cran WIN Changement de taille de la fen tre Soft ICE FLASH FLASH Restaure l cran durant P et
123. ment vous devez faire un EXIT R pour sortir du programm t restaurer la table des vecteurs d interrumption L utilisation de LDR EXE pour charger seulement le nom programme EXxE est souvent utile pour red marrer votre programme tandis que vous tes au milieu d une s ance de d bugging Pour red marrer la commande EXIT R pour terminer la s ance actuelle Utilisez alors LDR EXE pour recharger votre fichier EXE Les symboles le source ne doit pas tre charg puisqu il reste en m moire tendue Si LDR EXE vous affiche le message Plus de place au chargement des informations de symboles cela signifie que vous ne r servez pas assez de m moire tendue avec le commutateur SYM dans CONFIG SYS Si LDR EXE ne trouve pas vos fichiers source dans le m me r pertoire que 1l programme que vous chargez LDR EXE vous demandera les noms de chemin o il peut trouver les fichiers source Si vous avez des fichiers source dans plusieurs r pertoires ou si vous chargez un programme fr quemment cela devient g nant Vous pouvez liminer ce prompt en utilisant la variable d environ SRC LDR nement DOS EXE utilise cette variable d environnement pour trouver les fichiers source avant de demander l utilisateur La syntaxe pour positionner la variable d environnement au prompt du D
124. mettent de lister de modifier d effacer d activer et de d sactiver des points d arr t Les points d arr t sont identifi s par leurs num ros qui sont des chiffres hexad cimaux de 0 F Les commandes de manipulation de point d arr t sont BD D sactiver des points d arr t BE Activer des points d arr t BL Lister des points d arr t BPE Editer des points d arr t BPT Utiliser un point d arr t comme mod le BC Effacer des points d arr t BD D sactiver des points d arr t BD Syntaxe BD liste list Une s rie num ros de points d arr t s par s par des virgules ou des espaces D sactive tous les points d arr t Commentaire La commande BD est utilis pour d sactiver temporairement des points d arr t Les points d arr t peuvent tre r ctiv s avec la commande BE Activer point d arr t Vous pouvez pr ciser quels points d arr t sont d sactiv s en num rant les points d arr t avec la commande BL Les points d arr t d sactiv s sont rep r s avec un ast risque apr s leur num ro Exemple BD ly Cette commande d sactive temporairement les points d arr t 1 et 3 BE BE Active des points d arr t Syntaxe BE liste Fist Une s rie de num ros de points d arr t s par s par des virgules ou des espaces Active tous les points d arr t Commentaire La commande BE est utilis e pour
125. moire Prudence La commande EXIT doit tr mploy e avec pr cautions Malgr s que Soft ICE puisse tre activ tout moment une situation peut survenir o le DOS n est pas en tat d accepter un appel de fonction de sortie Aussi la commande EXIT ne peut pas remettre z ro tout programme Par exemple la commande EXIT ne remet pas z ro le mode vid o Si votre programme a plac le BIOS vid o dans un mode particulier il restera dans ce mode apr s la commande EXIT Exemple EXIT R Restaure la table d interruption et sort du programme actuel L option R doit tr mploy e pour sortir d un programme charg avec LDR EXE BOOT BOOT BOOTE le syst me laisse Soft ICE en m moire La syntaxe BOOT Commentaires La commande BOOT remet le syst me z ro et garde Soft IC m moire BOOT est n cessaire pour d bugger des s quences de d marrage des pilotes de p riph riques et des syst mes d exploitation non DOs en E4 BOOT est impl ment gr ce un appel l interruption 19H de la ROM BIOS Dans certaines circonstances la m moire peut tre corrompue au point que l interruption 19 ne fonctionne pas Si cela survient activez Soft ICE et utilisez la commade HBOOT T Pour que BOOT puisse fonctionner correctement Soft ICE doit tre install comme un pilote dans CONFIG SYS ava
126. mutateurs sont pr cis s R serve peu pr s 120K pour S ICE EXE R serve de la m moire pour le commutateur EXT si pr sent R serve de la m moire pour le commutateur SYM si pr sent R serve de la m moire pour le commutateur TRA si pr sent s il n est pas pr sent r serve par d faut 10K pour le n buffer de trace arri r la m moire pour le commutateur MCV si pr sent la m moire pour le commutateur EMM si pr sent R serv R serv aoa Si la m moire disponible venait manquer tandis que l on essaye de r server de la m moire pour un commutateur dans la s quence au dessus alors S ICE EXE proc de ainsi 1 La reste de la m moire tendu st affect pour switcher quand la m moire manquera 2 Aucune m moire ne sera r serv e pour les commutateurs restants Notes Si le commutateur MCV ou EMM est pr sent 64k de m moire tendu suppl mentaire sont r serv s pour un buffer DMA a Les commutateurs peuvent la commande DEVICE S ICE EXE Un exemple tre plac s dans nimporte quel ordre apr s DEVICE S ICE EXE TRA50 EMM 500 SYM 2048 Si 4 m ga octets de m moire tendue sont disponibles cet exempl r servera peu pr s 120K pour Soft ICE 2 m ga octets pour des symboles 50K pour un buffer de trace arri re
127. n 12 4 Syst mes d exploitation non DOS Soft ICE peut tre un outil puissant utilis tout seul Ce chapitre d crit des techniques pour d bugger des composants syst me en utilisant Soft ICE tout seul Quand on utilise Soft ICE tout seul la commande ACTION doit tre positionn e sur HERE 12 1 Pilotes de p riph riques Le d bugging de pilotes de p riph riques n cessite un d bugger qui ne fait pas appel au DOS Soft ICE peut tr mploy e tout seul si votre d bugger utilise le DOS Il y a deux m thodes pour d bugger des pilotes de p riph riques 1 Employez la commande MAP pour trouver l emplacement de votre pilote Affichez le header du pilote pour trouver une strat gie ou l interruption d entr e Positionner un point d arr t l entr e du pilote vous donnera le contr le dans le pilote La trace ou des points d arr t vous permettront de continuer le d bugging Le d bugging du code d initialization d un pilote de p riph rique n cessite de faire un reset du syst me avec la commande BOOT Utilisez la technique nonc e ci dessus pour positionner un point d arr t dans le code du pilote La commande BOOT garde Soft ICE et les points d arr ts positionn s en m moir 2 La deuxi me m thode n cessite de placer un code sp cial dans votre pilote Faites cela avec la commande 13HERE ON voir la section 5 4 Placez un opcode INT 3 CCH dans votre pilote de p riph rique
128. n es de 2000 0 4000 0 dans le buffer de trace arri re de Soft ICE EMMMAP EMMMAP Affichage de la carte d affectation EMM Syntaxe EMMMAP Commentaires La commande EMMMAP affiche chaque page physique disponible pour la m moire EMM et les pages qui sont actuellement mapp es Note La caract ristique EMM de Soft ICE doit tre activ e pour employer cette fonction Voir le chapitre 8 pour plus d information sur l activation de l aptitude EMM Exemple EMMMAP Cet exemple affiche l allocation EMM courante dans la forme suivante Phy page Seg adress Handle Page 00 DO00 FFFF 01 D400 0001 0000 02 D800 0001 0001 03 DCO0 0001 0002 Dans cet exemple la page physique 0 est situ e D000 et est n est pas mapp e La page physique 1 est situ e D400 et a le handle 1 page 0 mapp sur elle La page physique 2 est situ e D800 et a le handle 1 page 1 mapp sur elle La page physique 3 est situ e DCO0 et a le handle 2 page 1 mapp sur elle 5 7 Commandes de fen trage Commandes WR Bascule la fen tre registr WC Bascule r gle la taille de la fen tre cod WD Bascule r gle la taille de la fen tre donn es EC Entre sors de la fen tre cod Trouve l instruction courante Trois types de fen tres peuvent tre cr s avec Soft ICE registre donn es et code Chacune
129. n point d arr t ait activ votre d bugger celui ci ne r pond plus Il y a deux raisons possibles cel 1 Votre d bugger a caus une r entrance au niveau du DOS ou de la ROM BIOS Le DOS et LE BIOS n tant pas pleinemant r entrants votre d bugger ne peut pas fonctionner correctement Utiliser la commande WARN pour positionner l avertissement de r entrance sur ON La prochaine fois que le DOS sera pr t r entrer un message d avertissement sera affich et vous pourrez choisir de retourner dans Soft ICE pour viter le probl me R f rez vous la commande WARN la section 5 4 2 Un break s est produit au milieu d une routine d interruption Certains d buggers ne savent pas traiter ce probl me Utilisez ACTION positionn sur HERE car Soft ICE vous permet les breaks au milieu des routines d interruption R f rez vous la section 5 4 Vous utilisez un moniteur CGA et il y a beaucoup de neige quand Soft ICE est activ Certains types de cartes video affichent de la neige si les caract res sont affich s sans attendre un balayage horizontal ou vertical Pour r duire la neige basculez le mode FLICK ON R f rez vous la commande FLICK la section 5 9 Quand vous utilisez la commande BOOT le syst me commence un red marrage puis se plante Soft ICE utilise l interruption 19 pour booter chaud Il y a deux causes p
130. nde R de DEBUG La commande BPR positionne un point d arr t sur un domaine m moire La longueur du segment de code de Jed est de 25H octets donc la zone m moire sp cifi e va du d but de ce segment de code la fin Le W sert indiquer Soft ICE de r agir sur une criture Nous souhaitons surveiller toute criture intempestive sur le code de Jed Entrez BL La commande BL affiche tous les points d arr t L affichage de BL doit ressembler ceci 0 BPR code seg 0000 code seg 0025 W C 01 Le 0 est un identifieur pour ce point d arr t Le domaine et W sont affich s tels qu ils ont t entr s et le count si rien n a t pr cis est par d faut 1 Voici le moment de v rit Pressez ALT D La fen tre dispara t nouveau Pour lancer SAMPLE depuis DEBUB entrez G Pressez la barre d espace OK Maintenant pressez une autr touche Notre point d arr t nous a renvoy s dans DEBUG Les registres et un seule instruction d sassembl e sont affich s Entrez U cs addresse Addresse est la valeur du registre IP moins 10H Comme DEBUG est un peu primitif la valeur de IP moins 10H doit tre calcul e la main Le compteur d instructions pointe sur l instruction qui est juste apr s celle ayant caus le point d arr t En revenant en arri re de 10H instructions DEBUG peut se resynchroniser L instruction l offset 3BH est
131. nor e Exemple DW DS 00 L 8 Cette commande affiche dans le format de mot et dans le format ASCII la valeur des huit premiers octets du segment de donn es actuel E EB EW ED E EB EW ED Edite la m moir Syntaxe E taille adresse liste donn es tarki B Octet W Mot D Mot Double liste donn es liste d objets de donn es de la taille pr cis Octets Mots ou Mots Doubles ou de cha nes s par es par des virgules ou des espaces Les cha nes peuvent commencer avec une quote simple ou une quote double ou Commentaire La commande E affiche le contenu de la m moire l adresse pr cis e et vous permet d diter les valeurs Ces commandes affichent le contenu de la m moire dans le format ASCII et dans le format de taille pr cis Un diteur de m moir st fourni pour de rapides modifications de m moire La m moire peut tre dit n entrant des caract res ASCII ou en entrant les valeurs d octet de mot ou de mot double Si aucune taille n est pr cis e la derni re taill mploy e sera suppos e Les touches d dition m moire sont D placement du curseur vers le haut D placement du curseur vers le bas D placement du curseur vers la droite D placement du curseur vers la gauche ESPACE D placement du curseur vers l l ment suivant TAB Bascu
132. nt 21H mov char al ret get_key endp Check if character is a space Une des routines de Jake is_space proc cmp char 20H jne not_space mov answer 1 ret not_space mov cs answer 0 ret is_space endp CODE Ends Endstart Jed utilise DEBUG mais n a pas t capable de r soudre le probl me Sur les conseils d un ami Jethro Jed a achet Soft ICE IL tait assez r ticent l utiliser car il avait d j essay un debugger Hard mais n avait jamais r ussi le faire fonctionner corectement Il tait d cid utiliser Soft ICE car il lui permettait de continuer se servir de DEBUG le seul d bugger qu il ma trise vraiment Pressez CTRL C pour sortir du programme Entrez la commande suivante DEBUG lecteur chemin SAMPLE EXE U R Durant les heures pass es essayer de trouver ce bug Jed a acquit la conviction que quelque chose crase son code de fa on curieuse Avec Soft ICE Jed d cide de positionner un point d arr t domaine m moire autour de son segment de cod Pressez ALT D La fen tre de Soft ICE appara t D placez la fen tre l aide des touches CTRL et des fl ches jusqu faire appara tre l affichage des registres sous DEBUG Il est temps de positionner votre premier Point d Arr t Entrez BPR code seg 0 code seg 25 W Code seg est la valuer du registre CS comme affich par la comma
133. nt tout autre pilote Ceci pour que Soft ICE puisse restaurer l tat original du syst me aussi exactement que possible Exemple BOOT Cette commande fait le rebooter le syst me Soft IC reste r sident a HBOOT HBOOT BOOT hard du syst me reset total Syntaxe HBOOT Commentaires La commande HBOOT remet le syst me int gralement z ro Soft ICE ne reste pas en m moire HBOOT est normalement suffisant moins qu une carte d extention ne requi re un reset lectrique Dans ces cas rares l alimentation de la machine doit tre coup e Exemple HBOOT Cette commande reboote totalement le syst m Soft ICE doit tre recharg 5 4 Commandes du Mode Debug Commande ACTION D finit l action apr s qu un point d arr t soit atteint WARN Positionne le mode d avertissement d r entrance DOS ROM BIOS BREAK Arr t tout moment ISHERE Dirige l Interruption 3 vers Soft ICE ACTION ACTION D finit l action apr s qu un point d arr t soit atteint Syntaxe ACTION INTI INT3 NMI HERE num int num int Tout num ro d interruption valable 0 FFH N employer cette option que si une routine utilisateur a d tourn le vecteur voir la section LTe2 Commentaires La commande ACTION d termine qui est donn le contr le quand les conditions de point d arr t ont t rencontr es Dans
134. nts d arr t peuvent tre tablis avec un param tre count Le param tre count indique Soft ICE combien de fois le point d arr t doit tre ignor avant que le d clenchement survienne 4 2 Positionner les points d arr t Commandes BPM BPMB BPMW BPMD positionne un point d arr t sur un acc s m moire ou une ex cution BPR Positionne un point d arr t sur un domaine m moire BPIO Positionne un point d arr t sur un acc s un port I O BPINT Positionne un point d arr t sur une interruption BPX Positionne Efface un point d arr t sur une ex cution CSIP D finit un domaine pour CS IP BPAND Attend l occurence de plusieurs points d arr t BPM BPMB BPMW BPMD BPM BPMB BPMW BPMD positionne un point d arr t sur un acc s m moire ou une ex cution Syntaxe BPM taille adresse verbe qualifieur C count taille B W D B OcCt et W Mot D Mot Double La taille est le domaine actuellement couvert par ce point d arr t Par exemple si un mot doubl st employ et le troisi me octet du double est modifi alors un point d arr t surviendra La taille est aussi importante si l option qualifier est utilis e voir ci dessous verbe R W RW ou X qualifieur EQ NE GT LT M EQ Egal NE Diff rent GT Plus grand que ET Plus petit que M Masque Ces qualifieurs sont seulement applic
135. o de version Nous allons maintenant assigner la touche F12 la commande RS Entrez RS Ceci affiche temporairement l cran du programme en cours d ex cution sans la fen tre Soft ICE Pressez la barre d espace pour revenir la fen tre Soft ICE Entrez FKEY F12 RS Ceci assigne la commande RS la touche F12 Le point virgule rep sente la touche ENTREE Pressez la touche F12 Recommencez plusieurs fois pour basculer entre la fen tre de Soft ICE et l cran du programme Soyez s r que la fen tre Soft Ic st affich e au besoin en appuyant sur F12 Remarquez la commande RS affich e plusieurs fois dans la fen tre Ell st affich e autant de fois que la touche F12 a t press e T3 Nettoyez la fen tre Soft ICE en entrant CLS Entrez FKEY F12 RS Le symbole est ob tenu en pressant shift 6 Ceci affecte la commande RS la touche de fonction F12 mais rend la commande invisible Pressez la touche F12 quelques fois Remarquez que la commande RS ne s affiche plus dans la fen tre Vous pouvez aussi affecter une suite de commandes Soft ICE une touche de fonction N oubliez pas de mettre un retour de chariot entre chaque commande Maintenant pr parez vous utiliser Soft ICE comme un assistant de l utilitaire DEBUG de MSDOS Diminuez la hauteur de la fen tre de 6 lignes environ laide des touches ALT _ En
136. ofit Bien que des exemples de ces types de programmes ne soient pas explicitement donn s vous obtiendrez ainsi une vue d ensemble du travail avec Soft ICE Il est recommand d exp rimenter avec Soft ICE et votre environnement propre avant d entreprendre un projet r el Un court programme en langage assembleur est utilis pour d montrer les points d arr t style hard Le programme d exempl st intentionnellement court et parfait pour ceux qui ne seraient pas tr s familiers avec le langage assembleur Ce didacticiel est destin vous donner un aper u des possibilit s de Soft ICE N h sitez pas exp rimenter apr s avoir fait le tour du didacticiel Soft_ICE est tr s adaptable Il permet d tre charg de la meilleur fa on possible pour votre syst me Regardez les proc dures d installation dans la section 2 2 avant de continuer avec le didacticiel Si vous n avez pas de m moire tendue sur votre syst me vous devez charger Soft ICE depuis la ligne de commande Quand vous le chargez ainsi vous ne pouvez charger ni symboles ni fichiers source Dans ce cas vous devrez improviser dans la derni re section du didacticiel o il est expliqu comment utiliser Soft ICE tout seul Soft ICE peut tre charg depuis le prompt du DOS ou comme pilote de p riph rique dans votre fichier
137. onfiguration automatiquement de la carte EMM EMMSETUP essayera de remplir le plus d espace possible avec des pages disponibles autour des cartes de vid o et des ROMS Si sa supposition n est pas bien assez ou de ne vous satisfait pas tout fait vous pouvez l outrepasser L outrepasser peut tre n cessaire si vous avez un r seau ou un adaptateur vid o sp cial Pour configurer la carte EMM entrez EMMSETUP EMMSETUP affiche une matrice de pages de 16K disponibles dans le m ga octet inf rieur La matrice est partag en 16 colonnes chacun repr sentant 64K de 0 10000H Il y a 4 rang es repr sentant les quatre pages de 16K dans chaque r gion de 64K Chaque bloc de la matrice peut contenir un E un X un R ou un V Les blocs contenant un E sont disponibles comme pages EMM les blocs contenant u n q n X e le sont pas Les blocs contenant un R sont des zones de m moir ui ont t identifi es par EMMSETUP comme zones de ROM Vous pouvez marquer ces zones avec un E si vous le d sirez cependant cela devrait seulement tre fait si la ROM n est jamais acc d e Les blocs contenant un V sont identifi s comme m moire vid o Nous avons fait des suppositions tr s larges sur la m moire vid o Votre carte vid o ne devrait pas prendre autant que nous avons r serv Vous pouvez outrepasser la m moire qui sem
138. ortir du mode simulation de trac ntrez TRACE OFF TRACE sans param tre affiche si le mode simulation de trace est ON ou OFF Note Avant d utiliser la commande TRACE les instructions doivent avoir t not es avec un dommaine arri re de trace Voir le chapitre 9 pour plus d information sur les domaines arri res de trac Astuce Le mode simulation de trace est plus utile quand la fen tre de cod est visible Il est souvent utile d employer TRACE en conjonction avec la commande SHOW Cela permet de voir les instructions du buffer historique de trace de deux fa ons diff rentes Exemple TRACE 40 Cet exempl ntr n mode simulation de trace en commen ant 40 instructions avant la derni re instruction not e Il restera en mod simulation a de trace jusqu ce que TRACE OFF soit entr XT XT Saut d une instruction en mode simulation de trace Syntaxe XT R R Saut d une instruction en sens inverse Commentaires La commande XT ex cute pas pas dans le buffer de trace arri r Cette commande se comporte comme la commande T pour le d bugging normal Notez que les registres NE changent pas quand vous avancez en mode simulation de trace sauf CS et IP L instruction XT vous permet de rejouer des instructions du buffer de trace arri re Note Avant d utiliser XT vous devez tre dans en mode simulation de trace Voir le chapitre 9 et la
139. ositionne la base de num ration courante Syntaxe BASE 10 16 Commentaires La commande BASE fixe la base courante de num ration base 10 ou base 16 La base 10 est d emploi limit dans la fen tre troite cause des limitations de largeur de la fen tre Elle limite aussi la quantit d informations affich es par certaines commandes en mode larg Quand la base courante est base 10 tous les nombres et les adresses entr s et affich s par Soft ICE sont en d cimal Quand la base courante est base 16 tous les nombres et adresses entr s et affich s par Soft ICE sont en hexad cimal sauf les num ros des lignes de source les coordonn es cran et les tailles dans la commande WIN Ces exceptions sont toujours entr ees et affich es comme nombres d cimaux La base par d faut est base 16 Exemple BASE 16 Cet exemple positionne la base courante base 16 CTRL P CTRL P Bascule l enregistrement de la sc ance sur l imprimante Syntaxe CTRL P Commentaires Quand la touche CTRL suivie par la touche P est press e toute information affich e dans la fen tre de commande est aussit t envoy e l imprimante Pour basculer l impression OFF entrez CTRL suivi par P une deuxi me fois Quand vous envoyez des informations l imprimante en utilisant CTRL P vous pouvez vouloir basculer la commande PAUSE sur OFF pour permettre l infor
140. our lesquelles ceci pourrait ne pas marcher 1 Sur un syst me red marr depuis peu cette m thod fonctionne bien Mais si un programme errant a endommag le syst me cela peut chouer 2 Certains programmes utilisant de la m moire tendue ou pagin e comme les pilotes EMS ou les caches disques ne sont pas capables de reconna tre un reset caus par l interruption 19 Quand vous d buggez des pilotes de p riph riques ou des chargeurs de boot qui ont ce probl me vous devez utiliser la m thode suivante D marrez le syst m sans les pilotes causant probl me Chargez Soft IC pr parez les pilotes pour chargement au prochain d marrage et enfin utilisez la commande BOOT R f rez vous la commande BOOT la section 5 3 PI Vous venez juste d utiliser la touche SYSREQ pour activer Soft ICE et votre syst me semble bloqu ou il a commanc faire une copie d cran sur votre imprimante Sur certains claviers pour g n rer un System Request il faut appuyer simultan ment sur les touches ALT et PrtScr Si accidentellement vous n appuyez que sur la touche PrtScr le syst me tentera de faire une copi d cran sur votre imprimante Si vous n avez pas d imprimante connect e le syst me semblera bloqu Pour viter ce probl me appuyez avec attention sur les deux touches ou utilisez la commande ALTKEY pour d finir une s quence de touches diff rente R f rez
141. ous d truisiez par m garde un Ram Disk ou tout autre qui pourrait tre charg en m moire tendu Pour plus d informations r f rez vous la section 2 2 Chargement de Soft ICE et au chapitre 6 Options d initialisation Soft ICE will only run on 80386 based machines Soft ICE n cessite un microprocesseur 80386 Syntax Error Cemessage est affich si les informations entr es sur la ligne de commande ne correspondent la structure d aucune commande The P amp G Commands Function In RAM Only Soft ICE utilise deux m thodes pour impl menter les commandes P et G La premi re m thode utilise les points d arr t registre du 80386 Ainsi si vous avez d j positionn 4 points d arr t style BPM Soft ICE utilise la m thode INT 3 qui ne fonctionne qu en RAM Si vous tentez d utiliser les commandes P ou G en ROM maintenant Soft ICE d tecte cette condition et affiche ce message d erreur Valid Verbs are R W RW X Ce message est affich si un verbe incorrect est entr dans une commande BPM les choix de verbes valides pour une commande BPM sont R read W write RW read write and X execute APPENDICE E GUIDE DE DEPANNAGE Cette appendice donne des solutions a de possibles probl mes que vous pouvez rencontrer lors de l utilisation de Soft ICE Si vous ne trouvez pas un probl me ici relisez le fichier README SI sur votre disquette de
142. pas tre correct Tout affichage ou modification de m moire se produit dans la machine virtuelle du programme cible Vous n avez aucune visibilit dans la machine virtuelle de CV l exception de l affichage des valeurs de registre Rappelez vous que quand vous activez la fen tre Soft ICE tandis que CV est actif les valeurs de registre sont celles de CV et ne doivent pas tre modifi es La trace des programmes et des instructions est inactiv e de la fen tre Soft ICE quand CV est actif Ceci doit emp cher toute confusion parce qu une trace s effectuerait alors dans CV pas dans le programme cible Si vous essayez faire une Trace Soft ICE T ou un Pas De Programme P tandis que CV est actif vous obtiendrez le message d avertissement Function not available in CV virtual machine Pour tracer dans le code de votre programme cible vous pouvez utiliser une de ces deux options Utiliser la commande de trace de CV Pour faire cela quitter la fen tre Soft ICE en utilisant la commande X faites alors une ou plusieurs traces CV pour balayer le programme cible Utiliser Soft ICE pour aller l adresse du programme cible utiliser alors la commande Soft ICE T ou P pour balayer votre programme cible Pour cela quitter la fen tre Soft ICE avec la commande X pressez alors la touche F3 jusqu ce que CV soit en mode mixt Cela vous permet de voir les lignes de source et les adresses d instruction Activer Soft ICE Si la fen tre
143. puis entrez alors BPX pour positionner le point d arr t Note Seuls les fichiers source charg s en la m moire tendue avec LDR EXE sont disponibles pour la commande FILE Exemple FILE MAIN C Si MAIN C avait t charg avec LDR EXE cette commande l am ne dans la fen tre de cod n commen ant par la ligne 1 ss SS Cherche une cha ne dans le fichier source actuel Syntaxe SS num ro ligne cha ne num ro ligne un nombre d cimal cha ne une cha ne de caract re entour e par des apostrophes ou des guillemets Commentaires La commande SS cherche la cha ne de caract res pr cis e dans le fichier source S il y a une occurence la ligne dans laquelle la cha ne est situ e est affich e sur la premi re ligne dans la fen tre code La recherche commence au num ro de ligne pr cis Si aucun num ro de ligne n est pr cis la recherche d bute la premi re ligne affich e dans la fen tre code Si aucun param tre n est pr cis la recherche continue pour la pr c dente cha ne Note La fen tre code doit tre visible et en mode source avant d utiliser la commande SS Exemple SS 1 if i 3 a cha ne if i 3 est recherch e dans le fichier source actuel en commen ant la ligne 1 La ligne contenant la prochaine occurence de la cha ne devient la premi re ligne affich e dans la fen tre de cod
144. quand les conditions de point d arr t sont r unies Cette fonction est souvent utile quand un programme est soup onn de modifier accidentellement du code en dehors de son domaine Quand les conditions de point d arr t sont rencontr es le registr CS ATP est compar avec un domaine pr cis S il est dans le domaine le point d arr t est activ Pour activer le point d arr t quand CS IP est hors du domaine utilisez le param tre NOT Quand un domaine CSIP est pr cis e il s applique TOUS les points d arr t qui sont actuellement actifs Si aucun param tre n est pr cis le domaine CSIP courant est affich Exemple T CSIP NE F000 0 FFFF 0 Cette commande force le point d arr t survenir seulement le si CS IP n est pas dans la ROM BIOS quand les conditions de point d arr t sont r unies BPAND BPAND Attente du d clenchement de plusieurs points d arr t Syntaxe BPAND liste OFF Tist Une s rie de num ros de points d arr t s par s par des virgules ou des espaces r alise un AND entre tous les points d arr t Commentaire La commande BPAND fait un ET logique de deux ou plus points d arr t en ne les activant que quand les conditions de tous les points d arr t sont remplies Parfois les conditions surviennent quand vous ne voulez pas qu un point d arr t soit activ jusqu ce que plusieurs conditions diff rentes soient rencontr es
145. que fois que la fen tre Soft ICE est activ e les compteurs count sont remis leurs valeurs de d part verb Verb est une valeur qui pr cise quel type d acc s un point d arr t doit surveiller Il peut tre positionn R pour lecture W pour criture RW pour lecture criture ou X pour ex cute address Address est une valeur constitu e de deux mots de 16 bits s par s par deux points Le premier mot est l adresse de segmen l adresse d offset t le second est Les adresses peuvent contenir et des symboles Les adresses peuvent aussi co caract res sp ciaux M la section 3 8 Syntaxe des c une description de ces caract des registres ntenir les et Q Voir ommandes pour res sp ciaux break number Break number est un nombre d identification qui identifie le point d arr t Ex pour l diter l effacer ou le d sactiver Ce nombre peut tre un nombre hexad cimal compris entre 0 et F list List est une s rie de num ros de points d arr t s par s par des espaces ou des virgules mask Mask est un masque de bits repr sent par une combinaison de 1 de 0 et de X Les X repr sentant les bits dont on ne tient pas compte Exemple BPIO 21 W EQ M 1XXX XXXX Cette commande ex cute un point d arr t si une criture a lieu sur le port 21H avec le bit de poids fort positionn GT LT GT et LT sont des qualifie
146. quez que Soft ICE occupe tout l cran Soft ICE bascule en mode WIDE quand un programme est charg Le source SAMPLE ASM est visible dans la fen tre code De plus les fen tres donn es et registres sont visibles Ex cutez une instruction en pressant F10 Remarquez que la barr n vid o inverse se d place sur la prochaine instruction ex cuter apr s un saut Pressez F6 Ceci place le curseur dans la fen tre code Faites maintenant des essais avec les touches _ _ pageUp et pageDn pour d placer le curseur et vous d placer au long du source D placez le curseur sur la ligne 42 Pressez F9 Vous venez de positionner un point d arr t sur la ligne 42 La ligne est en surbrillance vous montrant ainsi qu un point d arr t y a t plac Entrez BL Cela vous montre le point d arr t qui vient juste d tre pos Maintenant pressez ALT D Ceci sort de Soft ICE et ex cute le programme SAMPLE jusqu au point d arr t de la ligne 42 Soft ICE r apparait imm diatement avec la barr n vid o inverse sur la ligne 42 Pressez F6 nouveau Ceci vous remet le curseur dans la fen tre de commandes Entrez maintenant B X Ceci efface tous les points d arr t il n y en avait qu un Quittez maintenant Soft ICE par ALT D Vous tes de retour dans le programm xemple Tapez quelques touches juste pour vous assurer qu il n
147. r Si nom registre est diff rent de FL valeur est une valeur hexa ou une expression Si nom registre est FL valeur est une s rie d un ou plusieurs des drapeaux suivants chacun pr c d de fa on optionnelle par un signe plus ou moins drapeau de d bordement drapeau de direction drapeau d Interruption drapeau de signe drapeau de z ro drapeau Auxiliaire de Retenue drapeau de Parit drapeau de Retenue AQATDBNU HE O Commentaires La commande R modifie ou affiche la valeur des registres Si aucun param tre n est fourni les valeurs des drapeaux et des registres sont affich es ainsi que l instruction point e par CS IP Si nom registr st entr sans valeur Soft ICE affiche la valeur actuelle du registre cit etattend une nouvelle valeur Si nom registre est FL les drapeaux positionn s sont affich s en majuscules et en surbrillance les drapeaux non positionn s sont affich s en minuscules et brillance normale Pour conserver la valeur actuelle d un registre pressez ENTREE Si nom registr t valeur sont pr cis s les contenus des registres sp cifi s sont modifi s Pour changer d un valeur d un drapeau utilisez FL comme nom registre suivi par les symboles des drapeaux dont vous voulez changer la valeur Pour mettre un drapeau ON faire pr c der le symbole de ce drapeau par un signe plus Pour
148. ramme r sidant intercepte certains vecteurs d interruption Exemple MAP Voici un exemple d affichage produit par la commande Start Length 0000 0000 0040 Table des vecteurs d Interruption 0040 0000 0030 ROM BIOS Variables 0070 0000 OOFE I O Syst me 016E 0000 06B7 DOS 0842 0000 O2CE DOS Table Des fichiers amp Buffers A000 0000 5E00 BUS syst me FO000 0000 1000 ROM BIOS Les versions de DOS inf rieures 3 1 affichent les adresses des programmes au lieu de leurs noms D DB DW DD D DB DW DD Affiche la m moire Syntaxe D taille adresse LI longueur tarri B Octet W Mot D Mot Double longueur Le nombre d octets afficher Commentaires La commande D affiche le contenu de la m moire l adresse sp cifi Les contenus sont affich s dans le format de taille pr cis Si aucune taille n est pr cis e la derni re taill mploy e sera utilis e La repr sentation ASCII est aussi utilis e pour tous les formats Si adresse n est pas pr cis e la commande affiche le contenu de la m moire l adresse commen ant au premier octet apr s le dernier octet affich la fois pr c dente Si longueur n est pas pr cis e ell st fix e par d faut huit lignes ou moins si la fen tre est plus petite Si la fen tre de donn es est visible les donn es sont affich es dans la fen tre de donn es et la longueur est ig
149. rce Quand le curseur est dans la fen tre de code l adresse n est pas requise Le point d arr t d ex cution est positionn l adresse du curseur Si un point d arr t d ex cution a d j t positionn l adresse du curseur alors le point d arr t est supprim Si la fen tre de code n est pas visible ou si le curseur n est pas dans la fen tre de code alors l adresse doit tre pr cis e Si l offset seul est pr cis alors le registre CS sera utilis comme segment Note Technique BPX emploie un point d arr t style INT3 moins que l adresse sp cifi e ne soit en ROM C est employ au lieu d un point d arr t registre afin de laisser plus de points d arr t ex cution disponibles Si les circonstances requi rent l emploi d un point d arr t registre pour une raison particuli re code pas encore charg par exemple vous pouvez tablir un point d arr t d ex cution avec la commande BPM Exemple BPX 1234 Cela positionne un point d arr t ex cution ligne de source 1234 CSIP CSIP Positionne CS IP sur un domaine m moire Syntaxe CSIP OFF NOT adresse d but adresse fin NOT Quand NOT est pr cis le point d arr t ne survient que si le CS IP est hors du domaine pr cis e OFF Met OFF le test de CS IP Commentaire La commande CSIP force un point d arr t tre d pendant de l emplacement du pointeur d instructions
150. ribution 3 2 Activation de la fen tre Vous pouvez activer la fen tre nimporte quand apr s avoir install Soft ICE a s quence de touches pr vue cet effet est CTRL D Cette s quence peut naturellement tre modifi e en utilisant la commande ALTKEY voir section 5 8 3 3 Sortie de la fen tre Le retour l affichage d origine se fait gr ce l utilisation de la commande X ou de la combinaison de touches utilis e pour activer Soft ICE Tous les tiez points d arr t que vous avez pu d finir pendant que vous LE sous Soft ICE demeurent actifs 3 4 Changement de taille de la fen tre Vous pouvez modifier la largeur et la hauteur de la fen tre de Soft ICE Le changemen mode Soft IC de taille de la fen tr st particuli rement utile en Ed seul lorsque vous affichez du code m moire La hauteur de la fen tre peut varier de 8 25 lignes Pour changer cette hauteur utilisez les touches suivantes ALT Agrandit la fen tre ALT Diminue la fen tre Pour changer les dimensions de la fen tre utilisez la commande WIN voir section 5 9 entrer WIN sans param tre bascul ntre ces deux modes WIDE mod fen tre plein cran NARROW mode 46 caract res Certaines commandes ex D E R U tirent avantage des plus grandes dimensions en affichant plus d informations quand la fen tre est
151. rr t est d sactiv Pour effacer un point d arr t entrez BC 0 Entrez BL nouveau Remarquez qu il n y a plus de point d arr t affich quittez Soft ICE puis quittez DEBUG en entrant X Q La partie suivante du didacticiel montre comment Soft ICE peut tr utilis tout seul pour r soudre le m me genre de probl me Soft ICE sera utilis comme d bugger source Pour pr parer Soft ICE d bugger au niveau source il doit avoir t install dans votre fichier CONFIG SYS et de la m moire tendue doit avoir t allou e pour les symboles le fichier source Soft ICE ne peut tre utilis comme d bugger source que si vous avez de la m moir tendue sur votre syst me Si vous n avez pas de m moire tendue vous pouvez tout de m me lire le reste du didacticiel pour voir les possibilit s de Soft ICE avec de la m moire tendue Si vous n avez pas charg S ICE EXE dans votre CONFIG SYS avec de la m moire r serv e pour les symboles faites le maintenant Pour d bugger le programme d exemple avec Soft ICE seul vous devez utiliser le programme chargeur LDR EXE Pour charger le programme exemple SAMPLE EXE le fichier symbole SAMPLE SYM et le fichier source SAMPLE ASM entrez ezi LDR SAMPLE Vous tes maintenant sous Soft ICE avec SAMPLE EXE charg en m moire Remar
152. s quence de touches servant activer Soft ICE Syntaxe ALTKEY ALTlettre CTRLlettre SYSREQ lettr Toute lettre A Z Commentaires La commande ALTKEY permet de modifier la s quence de touches pour activer Soft ICE La s quence de touches peut tre chang e en CTRL lettre ALT lettre ou la touche SysRq Occasionnellement vous pouvez utiliser un programme qui entr n conflit avec la s quence de touches CTRL D qui active Soft ICE Une m thode pour r soudre ce probl me est d utiliser la commande ALTKEY pour changer la s quence de touches Une autre m thod st d ajouter la touche SHIFT la s quence actuelle Soft ICE ne r pond pas cette s quence d touches et permet d acc der votre programme Par exemple si un programme r sident que vous utilisez est activ avec la s quence de touches CTRL D essayer d utiliser la s quence de touches CTRL SHIFT D pour activer votre programme r sident Sur certains claviers vous devez presser ALT et la touche PrtScr simultan ment pour g n rer un Sys Request Si aucun param tre n est pr cis la s quence de touches actuelle est affich e La s quence de touches par d faut est CTRL D Exemple ALTKEY ALT Z Cette commande pr cise que la s quence de touches ALT Z sera maintenant utilis e pour activer Soft ICE FKEY FKEY Affichage et dition des touches de fonction Syn
153. s composants associ s sera laiss e comme m moire tendue standard mais la quantit ne peut pas tre garantie Le commutateur EXT est utile parce qu il est parfois difficile de d terminer exactement combien de m moire est utilis e par Soft ICE et ses composants associ s L utilisation du commutateur EXT garantira que la quantit pr cis e sera disponible pour d autres programmes utilisant la m moire tendu SYM XXXX Demande S ICE EXE de r server XXXX kilo octets de m moire tendue pour le source et les symboles Si XXXX n est pas pr cis alors toute la m moire tendue restant st utilis e pour les symboles Assez de m moire doit tre affect e pour votre fichier SYM et tous les fichiers source Pour plus d informations sur l utilisation des sources et des symboles voir le chapitre 7 TRA XXXX Demande S ICE EXE de r server XXXX kilo octets de m moire tendue pour un buffer d historique de trace Ce buffer est utilis pour des domaines de trace arri r et pour la commande SNAP Si XXXX n est pas pr cis alors 10K de m moire tendue sont automatiquement r serv s pour le buffer Si vous ne voulez pas du tout de m moire r serv pour un buffer de trace arri re utilisez TRA 0 Pour plus d informations sur l utilisation des domaines de tra
154. sieurs d buggers efficacement 11 1 1 D buggers utilisant DOS Beaucoup de d buggers utilisent DOS et la ROM BIOS pour leurs affichages et leurs entr es clavier Une attention particuli re doit tre apport e quand on utilise ces d buggers avec Soft ICE ex DEBUG SYMDEB et CODEVIEW parce que DOS et la ROM BIOS ne sont pas pleinement r entrants Si un point d arr t survient tandis que du code s ex cute dans le DOS ou le BIOS un probl me de r entrance peut survenir Soft ICE fournit un avertissement optionnel de r entrance qui est activ e avec la commande WARN Quand le mode WARN est ON Soft ICE surveille une ventuelle r entrance du DOS ou de la ROM BIOS avant de g n rer l ACTION qui active le d bugger h te Quand un probl me de r entrance est d tect Soft ICE affiche un message d avertissement et vous offre le choix entre continuer x cuter le code ou revenir Soft ICE Notez que Soft ICE lui m me n emploie pas DOS ou la ROM BIOS dans ses commandes de d bugging Cela signifie que vous pouvez employer Soft ICE tout le temps sans probl mes de r entrance Pour plus d information sur la commande WARN voir la section 5 4 11 1 2 La commande ACTION avec d autres d buggers Diff rents d buggers utilisent des m thodes diff rentes pour s activer Pour une description de ces m thodes voir la section 13 1
155. sitionne les symboles SYMLOC D place la base de symboles T Tracer une instruction RACE Entrer en mode simulation de trace U D sassemblage d instructions VECS Sauve restaure compare vecteurs d interruption VER Affiche le num ro de version de Soft ICE WARN Positionne une alerte de r entrance DOS ROM BIOS WATCHV Positionne la surveillance du mode vid o WC Bascule r gle la taille de la fen tre cod WD Bascule r gle la taille de la fen tre donn es WIN Change la taille de la fen tre Soft ICE WR Bascule la fen tre registr X Sortie de la fen tre Soft ICE XG Aller une adress n mode simulation de trace XP Program step in trace simulation mode XRSET Reset back trace history buffer XT Single step in trace simulation mode 52 54 58 7L 71 69 70 45 55 38 57 43 50 67 60 60 68 59 45 56 56 57 55 APPENDICE C FONCTION DES SEQUENCES DE TOUCHES S quence Description D placement de la fen tree Soft ICE CTRL _ Monter la fen tre d une cas CTRL _ Descendre la fen tre d une cas CTRL gt D placer la fen tre d une case droite CTRL lt D placer la fen tre d une case gauche Modifications de la taille de la fen tre Soft ICE ALT _ Expansion de la fen tre ALT Contraction de la fen tre Edition de la ligne de Commande gt D placer curseur
156. sonnaliser Soft ICE avec les options de chargement dans le fichier CONFIG SYS et le fichier de configuration S ICE DAT Les options du fichier CONFIG SYS permettent de param trer comment la m moire tendue sera r serv e par Soft ICE Le fichier d initialisation S ICE DAT vous permet de pr ciser des options de configuration d affecter des commandes aux touches de fonction et de d finir une cha ne de d marrage Une cha ne de d marrage sert ex cuter une s rie d commandes que vous utilisez chaque fois que vous installez Soft ICE Pour plus d informations sur la personnalisation de Soft ICE r f rez vous au chapitre 6 2 3 D chargement de Sott ICE Occasionnellement vous pouvez tre amen vouloir d charger Soft ICE Une des principales raison qui peut vous pousser vouloir d charger Soft ICE est de vouloir lancer un programme qui utilise les instructions du mode prot g du 80286 ou du 80386 pour d charger Soft ICE entrez S ICE U Cette commande replace la machine en mode d adressage r el Si Soft ICE avait t charg depuis le fichier CONFIG SYS la m moire r serv par Soft ICE reste r serv t ne peut pas tre utilis e par un autre programme Si Soft ICE avait t charg depuis la ligne de commande DOS le fait de le d charger lib re la m moire qui lui avait t allou e Attention Si de la m moire
157. sp cifi Ils surviennent habituellement lors des sauts appels retours et points d entr e Quand vous avez un probl me de plantage ou ou autre difficult qui requiert des domaines de trace arri re vous devrez souvent employer des domaines tr s tendus pour arriver circonscrire le probl me Une fois que vous avez une meilleure id e de la zone sp cifique du probl me vous pouvez utiliser des domaines plus petits Les grands domaines de trace arri re sont souvent tr s lents Quand on utilise des domaines tendus c est habituellement pour essayer d obtenir une id e g n rale de l endroit ou se trouve le probl me Soft ICE a un mode sp cial pour traiter de grands domaines Cela acc l re les domaines drun facteur trois ou plus mais limite la quantit d instructions dans le buffer Ce mode recueille seulement les instructions qui crivent dans la m moire dans un domaine sp cifi A Ce mode fonctionne mieux avec des grands domaines et tend tr moins efficace pour de petits domaines Pour permettre de genre de domaine de trace arri re employez la commande BPR avec le verbe TW au lieu de T Par exemple BPR 1000 0 2000 0 TW Pour davantage d informations sur les domaines de trace arri re voir les descriptions des commandes SHOW TRACE XT XP XG XRSI ml H BPR CHAPITRE 10 Utilisation de Soft ICE avec MagicCV ou Magi
158. sse que la page soit mapp e ou non Quand vous d buggez des programmes EMM la commande EMMMAP peut aussi tre tr s utile Voir la section 5 6 pour plus d information Les commandes D E S F et C peuvent tr mploy s voir ou modifier nimporte quelle page EMM affect e La page ne doit pas tre actuellement mapp e La syntaxe de ces commandes est similaire celle des commandes qui taient employ es pour les pages non EMM l exception de la suivante Dans les commandes D E S et F la partie adresse de la commande doit tre pr cis e de la fa on suivante Hhandle Ppage d calage o handle est un nombre pr cisant quel handle EMM employer page est un nombre pr cisant quelle page EMM employer d calage est un nombre de 0 4000H pr cisant le d calage par rapport au d but la page Exemple DB H1 P3 0 Cette commande d chargera les octets de la page 3 du handle 1 en commen ant au d calage 0 La commande C doit tre pr cis e de la fa on suivante C Hhandle Ppage offsetl Llength offset2 O handle et page sont comme ci dessus offset1 est un nombre de 0 4000H pr cisant le d calage par rapport au d but de la page o le premier bloc de donn es comparer est situ offset2 est un nombre de 0 4000H pr cisant le d calage par rapport au d but de la page o le deuxi me bloc de donn es comparer
159. st employ e la place d un caract re sp cifique dans nom symbole cette virgule est un joker Si valeur est pr cis e tous les symboles correspondant nom symbole sont positionn s la valeur Tous les symboles ont des valeurs de mot Exemples SYM FOO Tous les symboles commen ant par FOO sont affich s SYM FOO 6000 Tous symboles commen ant par FOO sont positionn s la valeur 6000 SYMLOC SYMLOC Reloge la base de symboles Syntaxe SYMLOC segment adress Commentaires La commande SYMLOC reloge l adresse de segment de tous les symboles par rapport l adresse de segment pr cis e Cette fonction est n cessair n d buggant de pilotes de p riph riques ou d autres programmes qui ne peuvent pas tre charg s directement avec LDR EXE Quand on reloge un pilote de p riph rique il faut employer la valeur de l adresse de base du pilote comme trouv avec la commande MAP Quand on reloge un programme EXE la valeur est 10H plus lev e que celle trouv e comme base avec la commande MAP Quand on reloge un programme COM il faut employer l adresse de base du segment qui est trouv e la commande MAP La commande MAP affiche au moins deux entr es pour chaque programme La premi re est typiquement l environnement et le second est typiquement le programme L adresse de base du programme est la valeur de relogem
160. t Commentaires Les commandes de sortie sur un port sont employ s crire une valeur vers un port mat riel La sortie peut tre faite sur un port de mot ou d octet Si aucune taille n est pr cis e le d faut est octet Exemple O 21 EF Cette commande masque toutes les interruptions du contr leur d interruptions un 5 3 Commandes du Contr le De transfert Commandes Sortie de la fen tre Soft IC Aller une adresse Trace une instruction Pas de programme ERE Aller la ligne du curseur ENINT Force une interruption EXIT Force la sortie du programme DOS courant BOOT Boot du syst me retient Soft ICE HBOOT Boot dur du syst me reset total CJ Q EL U HO X X X Sortie de la fen tre Soft IC Er Syntaxe X Commentaires La commande X quitte la fen tre Soft ICE et rend le contr le au programme qui avait t interrompu pour activer Soft ICE La fen tre Soft ICE dispara t Si un point d arr t a t positionn il reste actif T Exemple X G Aller l adresse Syntaxe G adresse d part adresse arr t Commentaires La commande G quitte la fen tre soft ICE avec un point d arr t ex cution unique positionn De plus tous les points d arr ts permanents du programme restent valid s L ex cution commence au CS IP moins que l
161. t nregistr es avec un domaine de trace arri re Voir le chapitre 9 pour plus d information sur les domaines de race arri r Astuces Il est souvent utile d avoir la fen tre de code visible avec le cod actuel de la zone que vous affichez depuis le buffer de trace arri re Quand vous comparez le flux actuel d instructions au code les sauts et appels affich s sont souvent moins d routants En utilisant SHOW en conjonction avec la commande TRACE vous pourrez voir les instructions dans le buffer d historique de trace de deux points de vue diff rents Exemple SHOW 40 Cet exemple affiche en commen ant avec la 40 me instruction en arri re dans le buffer de trace arri r TRACE TRACE Entr n mode simulation de trace Syntaxe TRACE d but OFF d but Le nombre d instructions a remonter depuis la fin du buffer derni re instruction captur e pour commencer une simulation de trace OFF Sortir du mode simulation de trace Commentaires La commande TRACE vous permet de rejouer des instructions du buffer de trace arri re tout comme si elles taient ex cut es pour la premi re fois Pour utiliser le mode simulation de trace vous devez avoir la fen tre de code visible Apr s tr ntr dans le mode simulation de trace vous employez les commandes XT XP et XG pour tracer les instructions dans le buffer Pour s
162. t Break Point Limit Exceeded Soft ICE vous permet un maximum de 10 points d arr t interruption Ce message est affich si vous tentez de d passer cette limite Invalid Opcode Has Occurred CS IP XXXX XXXX Type C to Continue Type R to Return to Soft ICE Quand le 80386 rencontre une instruction ill gale il g n re une interruption 6 Soft ICE affiche ce message et vous donne la possibilit de continuer ou de retourner Soft ICE Si vous choisissez C comme continuer le contr le est doon au gestionnaire de l interruption 6 dans la machine virtuelle Ce message arrive souvent lorsqu un programme ex cute un saut vers une adresse ne contenant pas de code valide ou dont le code a t alt r I O Break Point Limit Exceeded Soft_ICE permet un maximum de 10 points d arr t Ce messag est affich si vous tentez de d passer cette limite No Alternate Screen Ce message est affich si la commande ALTSCR est utilis e et Soft ICE ne d tecte qu une carte vid o Parameter is Wrong Size Certains champs n cessitent une taille de donn e particuli re octet mot double mot Ce message est affich si la taille de la donn e n est pas corecte Par exemple si vous utilisez la commande BPMP 2000 2000 EQ 1234 vous demandez Soft ICE de surveiller les acc s octet l adresse 2000 2000 avec la valeur 1234H Comme 1234H est plus grand qu un octet la commande g
163. t liste donn es si n cessaire Exemple F 8000 0 L 100 Test Cette commande remplit la m moire commen ant 8000 0 par une longueur de 100H octets avec la cha ne Test La cha ne Test est r p t e jusqu ce que la longueur remplir soit puis e M M D placement de donn es Syntaxe M adresse d but L longueur adresse fin longueur longueur en octets Commentaires La commande M d place le nombre pr cis d octets de adresse d but dans la m moire vers adresse fin dans la m moire Exemple M 1000 0 L 200 2000 0 Cet ordre d place 200H octets de l emplacement m moire 1000 0 l emplacement m moire 2000 0 C C Comparer deux blocs de donn es Syntaxe C address1i L longueur address2 longueur longueur en octets Commentaires La commande C compare le bloc m moire sp cifi par address1i et longueur avec le bloc m moire sp cifi par address2 et longueur Quand un octet du premi r bloc de donn es est diff rend de son homologue dans le deuxi me bloc les deux octets sont affich s avec leurs adresses Exemple C 5000 100 L 10 6000 100 Cette commande compare les 10H octets commen ant l emplacement m moire 5000 100 avec les 10H octets commen ant l emplacement m moir 6000 100 5 6 Commandes Sp cialis es de D bugging Commandes SHOW instructions d affichage du buf
164. taxe FKEY nom touche fonction cha ne nom touch fonction F1 F2 F12 cha ne La cha ne consiste en toute commande valable de Soft ICE et les caract res sp ciaux circonflexe et point virgule Un est plac dans la cha ne pour faire une commande invisible Un est plac dans la cha ne pour simuler un retour de chariot Commentaires La commande FKEY est employ sur la ligne de commandes pour affecter une touche de fonction une cha ne de commande La touche de fonction peut tre affect e toute cha ne de commande pouvant tre entr e dans Soft ICE Si aucun param tre n est pr cis alors les affectations actuelles des touches de fonction sont affich es Pour d safecter une touche de fonction particuli re utilisez la commande FKEY avec ces param tres un nom de touche de fonction suivi par une cha ne nulle Les touches de fonction peuvent aussi tre pr initialis es dans le fichier de d finition S ICE DAT Pour plus d informations sur les d finitions de touches de fonction dans le fichier de d finition r f rez vous la section 6 4 L utilisation du symbole de retour chariot dans les cha nes d affectation des touches de fonction vous permet d attribuer une touche de fonction une s rie de commandes Un retour chariot est repr sent par un point virgule Si vous mettez Shift 6 au d but d une d finition de touch
165. terminal s riel mettre une instruction INT3 pour activer Soft ICE La commande 13HERE doit tre positionn sur ON pour que Ll INT3 active Soft ICE voit la section 5 4 Si les conditions ne concordent pas la routine de calcul doit ex cuter une instruction IRET Pour r sumer 1 Cr er une routine de calcul de point d arr t dans votr space code ou n importe o dans la m moire libre La routine doit pr server les registres Apr s avoir compar les conditions d sir es la routine peut ex cuter soit une INT3 pour activer Soft ICE soit un IRET pour continuer 2 Faire pointer un vecteur d interruption inutilis vers votre routine de calcul Cela peut tre fait dans votre code ou depuis Soft ICE 3 Dans Soft ICE positionner ACTION au num ro d interruption qui a t employ pour pointer sur votre routine de calcul 4 Dans Soft ICE positionner 13HERE sur ON Ceci est n cessair pour activer Soft ICE apr s que les conditions aient t rencontr es 5 Positionner les conditions g n rales de point d arr t de Soft ICE Quand l une de ces conditions de point d arr t est rencontr e votre routine de calcul sera appel e 11 2 1 Exemple d un point d arr t utilisateur Cette section contient un exemple d un point d arr t utilisateur qui calcule pour les conditions AX 3 BX 4 et CX 5 quand un point d arr t se produit
166. tilise le mode prot g du 386 pour faire fonctionner DOS hine virtuelle Ceci permet Soft ICE d avoir un contr le vironnement DOS Soft ICE utilise les caract ristiques du mode le niveau de privil ge des I O du 386 telles que le paging hard a votre d bugger actuel a nt d arr ts sur registres pour ajouter des points d arr ts de E a t crit avec trois id es en t te Utiliser les possibilit s de machine virtuelle des 386 pour obtenir des possibilit s de d bugging impossibles obtenir ou pour le moins prohibitivement lentes avec un d bugger soft ex points d arr t hard en temps r el protection m moire etc Pouvoir travailler avec les d buggers existants Nous voulions produire un outil fonctionnant avec les produits existants Nous avon Soft ICE de tell s cr fa on que vous ne soyez pas oblig d apprendre un nouveau d bugger pour obtenir de puissantes fonctions de d bugging hard Etre un programme simple d uti fen tres qui s affichent inst Toutes les commandes de Soft lisation avec des antan ment ICE ont t cr es pour rentrer dans une petit l cran en dessous de Soft IC dynamique vient en aide aux u fen tr A E Une tilisateurs qui ne se de telle sort que cette information soit toujours visible sur aide en ligne servent de Soft ICE qu occasionnellement act r
167. trer la commande Pour reprogrammer les touches de fonction voir la section 5 8 pour une description de la commande FKEY ou le chapitre 6 pour une explication sur la pr initialisation des touches de fonction dans S ICE DAT 3 10 Aide La commande d aide affiche un courte description la syntaxe et un exemple de chaque commande Pour afficher l aide entrez ou H affiche une br ve description de toutes les commandes et des op rateurs commande ou H commande affiche une aide plus d taill e sur la commande sp cifi e sa syntaxe et un exemple expression ou H expression affiche la valeur de l expression en hexad cimal d cimal et ASCII 3 11 Didacticiel Le didacticiel vous montre une bonne partie des possibilit s de Soft ICE et vous donne la possibilit de l essayer Soft ICE peut tre utilis conjointement avec un autre d bugger ou bien tout seul Le didacticiel vous enseigne comment utiliser Soft ICE avec un autre d bugger DEBUG et comment l utiliser tout seul avec un source et des symboles charg s DEBUG peut tre trouv sur les disquettes syst me PCDOS ou MSDOS Si vous ne poss dez pas DEBUG vous pouvez en utiliser un autre la place ou utiliser Soft ICE tout seul Les utilisateurs souhaitant utiliser Soft ICE pour un projet de revers ngineering ou pour d bugger un pilote de p riph rique DOS ou un programme T amp SR peuvent regarder ce didacticiel avec pr
168. trez ACTION INT3 Cette commande indique Soft ICE de g n rer une INT3 chaque fois que les conditions d un point d arr t sont satisfaites C est ainsi que Soft ICE communique avec DEBUG Le r glage par d faut est HERE ACTION HERE rend le contr le directement Soft ICE Utilisez ACTION HERE quand vous utilisez Soft ICE tout seul Pour ceux qui n utilisent pas DEBUG avec ce didacticiel le moment est venu d improviser CODEVIEW fonctionne avec ACTION r gl sur NMI Beaucoup d autres d buggers fonctionnent avec ACTION r gl sur INT3 Si ce n est pas le cas de votre d bugger et que vous souhaitiez de l aide reportez vous la description compl te de la commande ACTION voir section 5 4 Pour faire nouveau dispara tre la fen tre Soft ICE entrez X Ceci est une autre m thode pour sortir de SOft ICE Elle est sp cialement pratique avec les touches de fonction Maintenant que vous tes familiaris s avec les bases de l utilisation de Soft ICE nous allons approfondir quelques points en d buggant un programme simple SAMPLE ASM SAMPLE ASM est un programme simple crit en langage assembleur par un programmeur nomm Jed Ce programme lit une touche au clavier et affiche un message disant si la touche press e tait ou non un espace Pour lancer le programme SAMPLE entrez SAM
169. ul type de debugging par interruption R f rez vous la commande ACTION la section 5 4 Il y est list trois types d actions standard qui peuvent tre choisis lors de l ex cution d un point d arr t Essayez les trois Certaines marchent mieux qu d autres avec certains debuggers Soft ICE ne fonctionne pas correctement quand votre moniteur est en mode graphique ou il ne restaure pas correctement l cran graphique Soft ICE n utilise pas la ROM BIOS pour ses sorties Il crit directement dans la m moire Soft ICE a t pr vu pour fonctionner avec les types d contr leurs suivants ou des mod les 100 compatibles CGA MDA Hercules EGA VGA Si voitre contr leur n est pas parmi ceux l ou n est pas 100 compatible vous devrez ytiliser un second contr leur et moniteur et utiliser la commande ALTSCR d crite la section 5 9 La s quence de touches utilis e pour activer Soft ICE entre en conflit avec un de vos autres programmes Vous pouvez modifier la s quence de touches utilis e pour activer Soft ICE l aide de la commande ALTKEY r f rez vous la commande ALTKEY la section 5 8 w Quand votre programme plante Soft ICE n est plus accessible R f rez vous la commande BREAK la section 5 4 Cette commande vous permet d activer la fen tre Soft ICE quand le syst me est plant avec les interruptions d sactiv es Apr s qu u
170. ur charger seulement le fichier symbole et les fichiers source La syntaxe pour LDR EXE est LDR nom programme nom programme SYM nom programme extension 7 4 1 Chargement d un programme de symboles et de source Pour charger votre programme les fichiers source les symboles en une seule op ration vous devez employer LDR EXE sous cette forme LDR nom programme Notez que nom programme ne doit pas avoir d extension Si aucune extension n est fournie alors LDR EXE proc dera ainsi 1 Il charge nom programme SYM en m moire tendu 2 Il charge les fichiers sourc n m moire tendue Cett tape n a lieu que s il y a des enregistrements de source dans le fichier SYM 3 Il charge nom programme EXE en m moire l emplacement o il aurait t charg s il avait t charg directement du prompt DOS ea 4 Il active Soft ICE avec le pointeur d instruction sur la premi re instruction de votre programme S il s agit d un programme en C et si le source est charg pour le fichier contenant _MAIN alors le source de ce fichier sera visible dans la fen tre code 7 4 2 Charger seulement les fichiers source et symboles Si vous d sirez charger seulement les fichiers source et symboles pour d bugger un pilote de p riph rique par exemple vous devez employer LDR EXE sous la forme suivante LDR nom programme SYM
171. ur un T amp SR qui a d j t charg 3 Votre programme se d place lui m me un emplacement autre que son emplacement original Voir la section 5 10 pour une description compl te de ces commandes 7 6 D bugging avec source i Quand les fichiers source sont charg s Soft ICE vous permet de visualiser et de vous d placer dans le code source comme quand vous d buggez Soft ICE offre deux modes diff rents de d bugging niveau source le mode mixt Eol mode source Utilisez la commande SRC pour basculer entre ces deux modes Le mode mixte affiche les lignes de source et le langage d assemblage produit par ces lignes de source intercall s sur l affichage Le mode mixt est utile quand vous devez d bugger au niveau assembleur mais utilise les lignes de source comme r f rence Le mode mixt st permis que la fen tre d code soit visible ou non Le mode source ne montre que les lignes source sur l affichage Le d bugging niveau de source n cessite que la fen tre de code soit visible 7 6 1 Utilisation des num ros de ligne Les num ros de ligne peuvent tre utilis s la place des adresses dans plusieurs commandes Pour diff rencier un num ro de ligne d un adresse r elle placez un un point avant le nombre Par exemple pour positionner un point d arr t d ex cution la ligne de source 45 entrez BPX 450 7 6 2 Utilisation
172. urs des commande utilis s pour les comparaisons de valeurs CHAPITRE 4 Utilisation des Commandes de Point d arr t 4 1 Introduction 4 2 Positionner les points d arr t 4 3 Manipuler les points d arr t 4 1 Introduction Soft ICE a des possibilit s de point d arr t qui ne sont normalement disponibles qu avec des d buggers hard La puissance et la flexibilit du 80386 permettent des possibilit s de point d arr t avanc es sans quipement mat riel suppl mentaire A Les points d arr t peuvent critures n m moire les lectures ou critures sur un domaine m moire l ex cution tre positionn s sur les lectures ou les d une instruction et les acc s aux ports I O Soft ICE attribue un chiffre hexad cimal 0 F chaque point d arr t Ce nombre est utilis pour identifier les points d arr t quand vous les positionnez effacez d sactivez activez ou ditez ai Tous les points d arr t de Soft ICE sont permanents Ils ne disparaissent pas automatiquement apr s avoir t employ s vous devez intentionnellement les effacer ou les d valider en utilisant les commandes BC ou BD Soft ICE peut g rer 16 points d arr t en m me temps Vous pouvez avoir jusqu dix points d arr t d un m me type l exception des points d arr t m moire BPM desquels vous ne pouvez avoir que quatre cause des limitations du processeur 80386 Les poi
173. usqu ce que le compte soit puis ou que la touche ESC soit press e en tenant compte bien s r d ventuels points d arr t permanents du programme En mode source la commande T saute la prochaine ligne de source Si la ligne actuelle est un appel de fonction ou de proc dure et si le source existe pour la routine appel e T continue dans la routine S il n y a pas de source disponible pour la fonction ou la proc dure appel e T saute par dessus la routine Exemple T 1284 3 Cette command x cute une par une trois instructions commen ant l emplacement m moire 1284 P P Ex cution de Programme Syntaxe P Commentaires La commande P est un saut logique dans un programme Une instruction point e par le CS IP est ex cut e moins que l instruction ne soit un appel une interruption une boucle ou une instruction de r p tition Dans ces cas la routine enti re ou l it ration est enti rement ex cut e avant de rendre le contr le soft ICE La commande P emploie un point d arr t unique d ex cution Le point d arr t d ex cution non permanent emploie un point d arr t registre du 80386 moins que tous les points d arr t registre aient t affect s aux points d arr ts permanents Dans ce cas un point d arr t de style INT3 est r alis Quand ce cas survient les commandes P et G ne fonctionneront pas correctement dans la RO
174. utes les instructions est utile pour deux raisons 1 Le buffer de trace arri re n est pas encombr e par des informations qui ne vous int ressent pas Par exemple vous pouvez ne pas tre int ress s par l activit des interruptions ou l ex cution de MSDOS 2 Les domaines de trace arri re d gradent les performances du syst me lorsqu ils sont actifs En limitant le domaine une zone qui vous int resse vous pouvez am liorer norm ment les performances de votre syst m o Soft ICE a deux m thodes pour utiliser les instructions dans le buffer de trace arri re 1 La commande SHOW vous permet d afficher les instructions du buffer de trace arri re Vous devez pr ciser de combien d instructions vous d sirez remonter dans le buffer 2 La commande TRACE vous permet de remonter et de rejouer les instructions du buffer de trace arri re cette m thode vous permet de voir le flux d instruction dans le contexte du code source ou du code du programme 9 2 Utilisation des domaines de trace arri re Pour employer les domaines de trace arri re vous devez proc der ainsi 1 Affecter un buffer de trace arri re de la taille d sir e en ins rant le commutateur TRA sur la ligne S ICE EXE dans CONFIG SYS Par exemple pour cr er un buffer de trace arri re
175. utilis es pour la m moire conventionnelle tr mploy es pour voir Dans les commandes D E S et F commande la portion adresse de la commande doit tre pr cis e de la fa on suivante M m gaoctet adress o m gaoctet est un nombre pr cisant combien de m gaoctets employer et adresse pr cise l adresse dans le m gaoctet sp cifi Exemple DB M 2 0 0 Cette commande affichera des octets depuis le d but du m ga octet commen ant l adresse lin aire 200000H La commande C doit tre pr cis e de la fa on suivante C M m gaoctet addressl L longueur address2 o m gaoctet et addressl sont les m mes que ci dessus address2 pr cise l adresse dans le m gaoctet sp cifi o le deuxi me bloc de donn es devant tre compar es est situ Exemple C M 3 1000 2000 L10 3000 4000 Cette commande comparera les 10 premiers octets de m moire situ s 1000 2000 avec les 10 premiers octets de m moire situ s 3000 4000 Note Les utilisations suivantes des commandes D E S F et C continueront ou peut utiliser le dernier m gaoctet pr cis Pour revenir au m gaoctet 0 m moire conventionnelle employez une des commandes ci dessus avec 0 pr cis comme m gaoctet par exemple DMO CHAPITRE 12 Probl mes sp cifiques de d bugging 12 1 Pilotes de p riph riques 12 2 Chargeurs de boot 12 3 Routines d interruptio
176. vec M moire Etendue 2 2 3 Configuration de Soft ICE pour une Installation Personnalis e 2 3 D chargement de Soft ICE 2 4 Rechargement de Soft ICE 2 1 Les Disquettes Soft ICE est livr sur une disquette 5 1 4 ou une disquette 3 1 2 Quand vous lancez Soft ICE le nom de la personne poss dant la license de votre copi st affich l cran pour contrer les copies pirates La disquette Soft ICE n est pas physiquement prot g e contre la copie pour votre confort Pour notre confort nous apr cierons l attention que vous porterez aux accords de license Il est important de faire une copie de s curit de votre disquette avec pour seul usage le backup en cas d avarie de votre disquette originale Le catalogue de la disquette Soft ICE montre les fichiers suivants S ICE EXE S ICE DAT DR EXE MSYM EXE EMMSETUP EXE UPTIME EXE README SI SAMPLE EXE SAMPLE ASM SAMPLE SYM S ICE EXE est le programme Soft ICE S ICE DAT est le fichier d initialisation de Soft ICE LDR EXE est le loader de programmes et de fichiers symboles de Soft ICE MSYM EXE est le programme de cr ation de fichiers symboles de Soft TCE EMMSETUP EXE est le programme qui vous permet de personnaliser la fa on dont votre syst me utilisera la m moire pagin e UPTIME EXE r gle l heure DOS
177. vous la commande ALTKEY la section 5 8 Vous d sassembliez des instructions ou ditiez ou affichiez la m moire quan votre d bugger s est bloqu Vous avez acc d u adresse qui a d clench un point d arr t de Soft ICE dont L ACTION n tait pas positionn sur HERE Quand Soft ICE arrive au point ou vous souhaitez examiner la m moire avec votre d bugger vous devez d sarmer les point d arr t de Soft ICE Si vous ne le faites pas vous risquez de reprovoquer un point d arr t Ceci va ammener votre d bugger s activer lui m me ce qui peut tre fatal s il n est pas r entrant Re Ed Apr s votre sortie de votre d bugger votre syst me se bloque Ce probl me peut naturellement avoir plusieurs causes Un parmi celles possibles est que vous ayez oubli de d sactiver les points d arr t de Soft ICE et ACTION est toujours postionn pour activer votre d bugger Quand le point d arr t se produit ACTION tente d activer votre d bugger mais celui ci n est plus en m moire Vous positionnez un point d arr t pour pi ger l interrution 15H fonctions 87H 88H ou 89H et le point d arr t ne s ex cute pas Soft ICE traite ces fonctions de fa on interne n mode prot g Il n est donc pas possible d y poser des points d arr t Votre programme n accepte plus d entr e clavier mais le clavier est toujours actif Un
178. x cution de chaque instruction dans le domaine m moire pr cis Quand les conditions de registre ne correspondent pas alors l instruction IRET est ex cut e Quand les conditions correspondent aux calculs pr cis s JL TNT 3 st ex cut t Soft ICE est activ Quand Soft ICE est activ le pointeur d instruction indiquera 1 INT3 dans votre routine de calcul 9000 FH dans notre exemple Pour arriver l instruction suivant celle qui a caus le point d arr t vous devez changer le pointeur d instruction pour indiquer l instruction IRET F000 10H dans l exemple et tracer un pas C est accompli avec les commandes suivantes RIP IP 1 T Apr s que vos conditions de point d arr t aient disparu pensez changer la commande ACTION pour ACTION HERE afin que les points d arr ts suivants n aillent pas dans votre routine de calcul 11 3 La Fen tre en mode Graphique L cran est bascul en mode texte quand Soft ICE est activ Si l cran tait en mode graphique ou en mode 40 colonnes l affichage graphique n est pas visible pendant que la fen tr st active Pour les utilisateurs qui doivent voir les affichages graphiques en d bugging trois caract ristiques sont fournies La premi re caract ristique permet la fen tre Soft ICE d afficher sur un deuxi me moniteur voir la commande ALTSCR section 5 9 La deuxi me caract ristique vous permet de restaurer l cr
Download Pdf Manuals
Related Search
Related Contents
klicken VideoWave® III SW-38HT - Kenwood Eye3-Mobile Technical Specs Instrumento AGREE en castellano ・解説図 本品は、あらかじめ・・快適カバー"をあてた状態でセットされてい Software Engineering - Fachbereich Informatik Xerox ColorQube 8700 User's Manual Copyright © All rights reserved.
Failed to retrieve file