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
SUPER MAX / SUPER JUNIOR  Pyle PLBS122 subwoofer  Urologischer Mikro-Tip Druckmess-Katheter  組込用プログラム温度コントローラ THC01 取扱説明書  Lucasey FSWADS2TUL3520 flat panel wall mount  Telex ES4000A User's Manual    Copyright © All rights reserved. 
   Failed to retrieve file