Home
        EBC Debugger User Manual
         Contents
1.     08D2F524  72 87 01 12 MOVnw R7  RO   1  128   08D2F528  72 F7 85 21 MOVnw R7  OR7   5  24     121 3 EFI_STATUS Status    rap Ge      z121  3 SystemTable  gt ConOut  gt OutString     08D2F52C  72 84 01 12 MOVnw R4   RO  1  128     Draft for Review 11    Configuring the EBC Debugger under EFI Shell    7  Summary   step into   Usage   T     No Argument     Function Key   F8     Description    The step into command will cause the EBC debugger to step a single instruction  If the  instruction is a call to internal code  CALL   then the debugger will break at the new  function CALL     Examples    Examples     To step into the program   EDB  gt  T    12 Draft for Review    P    Summary    step over     Usage     No Argument     Function Key   F10     Description    The step over command causes the EBC debugger to step a single instruction  If the  instruction is a call to internal code  CALL   then the external call is made and the  debugger breaks at the instruction following the CALL     Examples    Examples     To step over the program   EDB  gt  P    Draft for Review    13    Configuring the EBC Debugger under EFI Shell    O  Summary   step out   Usage   O     No Argument     Function Key   F11     Description    The step out command causes the EBC debugger to step out function calls  The  function executes  but the debugger stops after the called function returns     Examples    Examples     To step out the program   EDB  gt  O    14 Draft for Review    Q    Summary    res
2.     A 1 EBC Debugger Configuration    Sometimes the user may want to disable all Break conditions and just let the EBC  image run  How can this be done and then reversed at the user   s discretion  The EFI  shell application EbcDebuggerConfig acomplishes this     A 2 Where is EBC Debugger Configuration    EBC Debugger Configuration is on the CD in  EbcDebuggerConfig  directory  The  binaries only support Intel   64  IA 32  and Intel   Itanium   architectures     A 3 Command Summary    Table 2 lists all EBC debugger configuration commands     Table 2 EBC Debugger Configuration Commands    Class Command Description   Break Break class break on CALL   commands  BOC  BOCX break on CALLEX   BOR break on RET   BOE break on Driver Entrypoint   BOT break on Native Thunk     A 3 1 Break class commands    BOC    Summary    break on CALL     42 Draft for Review    Usage  BOC  on off    No Argument    show current state    on   enable break on call  off   disable break on call    Description    Enabling break on call will cause the debugger to halt execution and display the  debugger prompt prior to executing any EBC CALL  to EBC  instructions     Examples    Examples     To enable break on CALL   Shell gt  EDBCFG BOC ON      To show the current state     Shell gt  EDBCFG BOC  BOC ON    Draft for Review    43    Configuring the EBC Debugger under EFI Shell    BOCX  Summary  break on CALLEX   Usage  BOCX  on off    No Argument    show current state  on   enable break on callex  off   disa
3.    lt Count gt     No Argument    List current assembly code  Count   The decimal instruction assembly count    Function Key   F4     Description    The list assembly command will disassemble instructions starting with the current EBC  VM instruction pointer   by default 5 instructions      Examples    Examples     To show the current assembly   EDB  gt  L    Draft for Review 29    SCOPE    Summary    load scope address     Usage  SCOPE  lt Address gt     Configuring the EBC Debugger under EFI Shell    Address   The Hexical address where user wants to see the    assembly code    Function Key   None     Description    The list assembly command will disassemble instructions starting with the current EBC  VM instruction pointer   by default 5 instructions      Examples  Examples     To load the scope address   EDB  gt  SCOPE 8D2F61A  30    Draft for Review    DB  DW  DD  DQ    Summary    display memory     Usage  D B W D Q   lt Address gt    lt Count gt      Address   The hexical memory address    The hexical memory count  not set means 1     Count    Function Key   None     Description  Display BYTES WORDS DWORDS QWORDS Memory     Examples    Examples     To show the memory     EDB  gt  DD 8D2E000 8  08D2E000  30726670 00000000 O8DAAA1C 08D2E088  08D2E010  AFAFAFAF AFAFAFAF AFAFAFAF AFAFAFAF    Draft for Review    31    Configuring the EBC Debugger under EFI Shell    EB  EW  ED  EQ  Summary    modify memory     Usage  E B W D Q   lt Address gt   lt Value gt     Address   The he
4.   Usage  BL     No Argument    show the state for current breakpoint    Function Key   None     Description    List Breakpoint    Examples  Examples     To list breakpoint   EDB  gt  BL  Breakpoint   Index Address Status  0 0x0000000008D2F52C      Draft for Review    21    Configuring the EBC Debugger under EFI Shell    BP    Summary    breakpoint set     Usage  BP  lt Address gt      lt Address gt    Hexical breakpoint address    Function Key   None     Description   Set Breakpoint  Examples   Examples       To set breakpoint   EDB  gt  BP 8D2E52C    22 Draft for Review    BC    Summary  breakpoint clear   Usage  BC  lt Index gt      lt Index gt    Decimal breakpoint index  which can be got from BL command      For all the breakpoint    Function Key   None     Description   Clear Breakpoint  Examples   Examples       To clear breakpoint   EDB  gt  BC 0    Draft for Review 23    Configuring the EBC Debugger under EFI Shell    BD  Summary  breakpoint disable   Usage  BD  lt Index gt      lt Index gt    Decimal breakpoint index  which can be got from BL command      For all the breakpoint    Function Key   None     Description   Disable Breakpoint  Examples   Examples       To disable breakpoint   EDB  gt  BD 0    24 Draft for Review    Summary  breakpoint enable   Usage  BE  lt Index gt      lt Index gt    Decimal breakpoint index  which can be got from BL command      For all the breakpoint    Function Key   None     Description   Enable Breakpoint  Examples   Examples       
5.  Status    iZ   a FA E  SystemTable  gt Condut  gt DutputString     08D2E52C  72 84 01 12 MOUnw R4   RO  1  128     EDB  gt  _       Figure 3  EBC Debug session   step 3    The user can also set breakpoints in the source code using the EFI_BREAKPOINT     macro  which is defined as _break  3  in debug builds  This will result in the EBC  debugger stopping at that place in the code     Please see 3 for details on the commands of the EBC debugger     Draft for Review    3 1    EBC Debugger Command  Description    Overview    3 1 1 Command Summary    Table 1 lists all EBC debugger commands     Table 1  EBC Debugger Commands          Class Command Description  Execution G continue to run the program   I step into   P step over   Q step out   Q reset the debugger to default value and go   Break BOC break on CALL   BOCX break on CALLEX   BOR break on RET   BOE break on Driver Entrypoint   BOT break on Native Thunk   BL breakpoint list  BP breakpoint set  BC breakpoint clear  BD breakpoint disable  BE breakpoint enable  Information K show clear call stack  TRACE show clear trace instruction branch  R display modify register  L show load instruction assembly count  SCOPE load scope address    DB  DW  DD  DQ   display memory       Draft for Review    10          Configuring the EBC Debugger under EFI Shell    Class Command Description  08D2E010  modify memory  AFAFAFAF  AFAFAFAF  AFAFAFAF  AFAFAFAF  EB  EW  ED  EQ  Symbol LN list the symbol  LOADS YMBOL load the symbol file  UNLOADSYMB
6.  T  a aaa 12  A 13  Qe NN 14  O    aona A A Maga    cea Neaa ands Mela N aT 15  3 2 2 Break class COMMANAS            cccccc eee cece eee e eee ete eee eeateeateeneeanees 15  BOCS seers seein fetes nore sera Geet ce tg nt eee E 15  BOOK dl tasca 17  BOR sidad aia alada does 18  BOE  rat isa 19  BOT A ooo olaaa iba leds 20  BL  ds 21  BP ness 22  BES E O eae ereet 23  BD diia 24  NR AN 25  312 3 Information class COMMANAS            cccccc cece cece cesses eeee seas seat eeaeeees 26  E iia 26  TRACE daa reo ias da 27  Ba roo died 28  Lao dadas 29  SCOPE  O O tata aon i E E 30  DB  DW  DD  DQ    cece ccc rro rr rr rn 31  EB EW ED  Ea osado doo 32    Draft for Review    Appendix A    Figures    Tables    3 2 4 Symbol class COMMAMNAS               cece eee eee eee 33    TO 33  LOADSYMBO Esso dicas 35  UNLOADSYMB Olsson   n 36  LOADCODE iras cabaaaaal 37  WNLOADCODE es riada taa a AA 38  DISPLAYS YMB OL o iia aa 39  DISPLAYCODES anta aaa 40  3 2 5 Other command Sesteri iran Ena A arta 41  O E 41  Configuring the EBC Debugger under EFI Shell              cc cceceeeee eee eee eee eee cnn cnn 42  A 1 EBC Debugger ConfiguratiON    oooococccccccccnnoncncnnnnnnnnn neta 42  A 2 Where is EBC Debugger Configuration     ooccccccccoccccnnoccncnnnnnnnnnno narra narran 42  A 3 Command SUMMA Y uiiminarin a a os 42  A 3 1 Break class COMMANGS            ccc ect neta 42  BOC AR 42  BOCK dec 44  BOR ii arte ar 45  BOE unirme RR 46  BOT anal ee 47  Figure 1  EBC Debug session   Step 1       sssssse
7.  TIANO Edk Sample Universal Ebc Dxe EbcTest EbcTest  Sub c45b6d8ef  EbcTestSub obj     0x08D2FA00  GV   0x08D2FA04  GV   0x08D2FA08  GV   0x08D2FA14  GV   0x08D2FC70  GV   0x08D2FC78  GV   0x08D2FC80  GV   0x08D2F400  SF     CrtThunkBegin  EbcLib EbcLib obj   CrtThunkEnd  EbcLib EbcLib obj   CrtBegin  EbcLib EbcLib obj    CrtEnd  EbcLib EbcLib obj    TestStr  EbcTest obj    TestVariablel  EbcTest obj   TestSubVariableSub  EbcTestSub obj   TestSubRoutine2  EbcTest obj       To list the nearest symbol     EDB  gt  LN 8d2  500   Symbol at Address   Symbol File Name   Address Type    0x08D2F51A   F     not found  print nearest one   ebctest map  Symbol    EfiMain      To list the symbol with name   EDB  gt  LN S EfiMain    Symbol File Name   Address Type    0x08D2F51A   F     ebctest map    symbol    EfiMain  EbcTest obj     Draft for Review    LOADSYMBOL    Summary    load the symbol file     Usage  LOADSYMBOL  lt SymbolFile gt   a     SymbolFile   The EBC symbol file  Its name should be XXX MAP   a   Automatically load code files in the same dir    Function Key   None     Description    The load symbol command will load the ebc map file  Then it parses the function name  and global variable  and the print real name when do the disassembly   Symbol file  name should be XXX MAP      Examples    Examples     To load the symbol   EDB  gt  LOADSYMBOL ebctest ebctest map      To load the symbol and related code   EDB  gt  LOADSYMBOL ebctest ebctest map a    Draft for Review 35    Con
8.  an EBC driver   EbcTest map is the  MAP file  EbcTest cod  and EbcTestSub cod are the  COD files   These are located in the CD directory  EbcTest     The steps followed by the user are    1  On the target system  boot an EFI system    2  Get the debugger loaded into memory   see 2 4    3  Copy all the  MAP file and  COD file to 1  file system  for example  fsnt0  ebctest     4  Load the driver  load ebctest efi   This causes the EBC debugger prompt to  display with the interpreter stopped at the EBC driver   s entry point   see 2 5     5  Load the symbol files at Debugger command prompt     a  type    loadsymbol ebctest ebctest map a     the    a    switch causes the  debugger to load all  cod file in same directory See Figure 1     Draft for Review    fsnti   gt  load ebctest efi   EBC Interpreter Version   1 0   EBC Debugger Version   0 1   Break on Entrypoint   08D2E620  B7 37 00 00 01   08D2E625  00 MOUI qd R7  65  08D2E626  00 06 BREAK 6   08D2E628  60 00 50 80 MOU qu RO  RO  0   80   08D2E62C  77 36 00 00 MOUI qu R6  0  08D2E630  B9 37 CA 03 00   08D2E635  00 MOVreld R7  OxO000003CA    Please enter command now     h    for help    Using  lt Command gt   b  lt     gt  to enable page break      EDB  gt  loadsymbol ebctestrebctest map a       EDB  gt  _    Figure 1  EBC Debug session   step 1    6  The user will list all symbols with the In command and fine the address of  EfiMain   routing  0x8D2E51A in this case  see Figure 2     EDB  gt  In  Symbol File Name  ebctest  
9.  state  on   enable break on thunk  off   disable break on thunk  Description  Enabling break on thunk will cause the debugger to halt execution and display the  debugger prompt prior to start native call EBC thunk   Default is on   Examples    Examples     To enable break on thunk   Shell gt  EDBCFG BOT ON      To show the current state     Shell gt  EDBCFG BOT  BOT ON    Draft for Review    47    
10. EBC Debugger User Manual  February 2007    Revision 0 2    Draft for Review    INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL   PRODUCTS  NO LICENSE  EXPRESS OR  IMPLIED  BY ESTOPPEL OR OTHERWISE  TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT  EXCEPT  AS PROVIDED IN INTEL S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS  INTEL ASSUMES NO LIABILITY  WHATSOEVER  AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY  RELATING TO SALE AND OR USE OF INTEL  PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE  MERCHANTABILITY   OR INFRINGEMENT OF ANY PATENT  COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT  Intel products are not intended  for use in medical  life saving  or life sustaining applications     Intel may make changes to specifications and product descriptions at any time  without notice     Designers must not rely on the absence or characteristics of any features or instructions marked    reserved    or    undefined     Intel  reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from  future changes to them     Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order     Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and  other countries      Other names and brands may be claimed 
11. OL   unload the symbol file  LOADCODE load the code file  UNLOADCODE unload the code file  DISPLAYSYMBOL   disable enable the symbol output  DISPLAYCODE disable enable the source code only output  Other H help  3 1 2 Explanation of Command Description Layout    The description of each command is composed of four sections  Summary  Usage     Function Key  and Description     Summary is a brief explanation of the function of the command  Usage describes how  the command is used  Function Key is the fast way to run this command   Description describes the details of the command     Draft for Review    3 2 EBC Debugger Commands    3 2 1 Execution class commands  G  Summary  continue to run the program   Usage  G  til  lt Address gt     No Argument    It means continue run the program   til   It means continuing run the program till IP is the  Address    lt Address gt    The hexical address user want to break at     Function Key   F5     Description    Use of the go command causes the debugger not to interrupt execution of the EBC  image  The debugger will only break execution of the interpreter if it encounters an  exception  including an EBC breakpoint      Examples    Examples     To continue run the program   EDB  gt  G      To continue run the program until IP is 8D2F51A   EDB  gt  G TIL 8D2F51A  Break on GoTil     EfiMain      08D2F51A  60 00 70 80 MOVqw RO  RO  0  122   3117     08D2F51E  77 58 58 00 34   08D2F523  12 MOVIww CERO   0  88   4660    118 5 UINT16 test   0x1234
12. The EFI Documentation help system is  available from the EFI web site   http    developer  intel  com technology efi help efidocs  htm        Related I nformation    The following publications and sources of information may be useful  or are referred to  by this document     e Extensible Firmware Interface Specification  Version 1 10  Intel  2001     http     developer  intel  com technology  efi     Draft for Review 3    4BI ntroduction    Unified Extensible Firmware Interface Specification  Version 2 0  Unified EFI  Inc   2006  http    www uefi org        Unified Extensible Firmware Interface Specification  Version 2 1  Unified EFI  Inc   2007  http    www uefi org        Draft for Review    2 1    2 2    2 3    2 4    Note     Getting Started    What is the EBC Debugger     The EBC Debugger is a tool that can help a user to debug an EBC driver or an EBC  application in the EFI shell environment     The EBC Debugger is an EFI native  service  driver  It is an EBC interpreter with  debug ability     Where is EBC Debugger    The EBC Debugger is on the CD in the  EbcDebugger  directory  The included binaries  only support Intel   64  I A 32  and Intel   Itanium   instruction set architectures     Prerequisite    When the EBC Debugger is loaded  it will unload the existing EBC interpreter  So the  user should ensure that there are no other EBC interpreters loaded after that     The EBC Debugger uses ConOut and Conlin as input and output interface  Conlin and  ConOut are require
13. To enable breakpoint   EDB  gt  BE 0    Draft for Review 25    Configuring the EBC Debugger under EFI Shell    3 2 3 Information class commands  K  Summary   show clear call stack   Usage    K  p   lt ParameterNum gt    c     Show current call stack     No Argument     P   Show current call stack with parameters   ParameterNum   Decimal call stack parameters number  8 by default  16  as max   c   Clear current call stack    Function Key     None   Description    The call stack command will show or clear the current call stack     Examples  Examples     To show the current call stack   EDB  gt  K  Call Stack  TOP    Caller Callee Name    0x0000000008D2F55A 0x0000000008D2F600 TestSubRoutineSub     0x0000000008D2F750 0x0000000008D2F51A EfiMain    0x00000000FFFFFFFF 0x0000000008D2F620 EfiStart         To show the current call stack with parameter   EDB  gt  KP 2  Call Stack  TOP    Caller Callee Name    0x0000000008D2F55A 0x0000000008D2F600 TestSubRoutineSub     Parameter Address  0x08B26F24     0x00000001  0x00000005       0x0000000008D2F750 0x0000000008D2F51A EfiMain    Parameter Address  0x08B26FA4     0x08D2D710  0x04C6FE90       0x00000000FFFFFFFF 0x0000000008D2F620 EfiStart     Parameter Address  0x08B26FF4     OxAFAFAFAF  OxAFAFAFAF       26 Draft for Review    TRACE    Summary    show clear trace instruction branch     Usage  TRACE  c    No Argument    Show current instrcution branch   ol   Clear current instruction branch    Function Key   None     Description    The tra
14. able break on return  off   disable break on return    Function Key   None     Description    Enabling break on return will cause the debugger to halt execution and display the  debugger prompt prior to executing EBC RET instructions     Examples  Examples     To enable break on RET   EDB  gt  BOR ON      To show the current state     EDB  gt  BOR  BOR ON    18 Draft for Review    BOE    Summary    break on Driver Entrypoint     Usage  BOE  on off      No Argument    show current state  on   enable break on entrypoint  off   disable break on entrypoint    Function Key   None     Description    Enabling break on entrypoint causes the debugger to halt execution and display the  debugger prompt prior to start a driver entry point   Default is on      Examples  Examples     To disable break on entrypoint   EDB  gt  BOE OFF      To show the current state     EDB  gt  BOE  BOE OFF    Draft for Review    19    Configuring the EBC Debugger under EFI Shell    BOT  Summary  break on Native Thunk   Usage  BOT  on off      No Argument    show current state  on   enable break on thunk  off   disable break on thunk    Function Key   None     Description    Enabling break on thunk will cause the debugger to halt execution and display the  debugger prompt prior to start native call EBC thunk   Default is on     Examples  Examples     To enable break on thunk   EDB  gt  BOT ON      To show the current state     EDB  gt  BOT  BOT ON    20 Draft for Review    BL    Summary    breakpoint list   
15. and all prototype  code segments use a BOLD Monospace typeface with a dark red  color  These code listings normally appear in one or more  separate paragraphs  though words or segments can also be  embedded in a normal text paragraph     Bold Monospace Words in a Bold Monospace typeface that is underlined and in  blue indicate an active hyperlink to the code definition for that  function or type definition  Click on the word to follow the    hyperlink   Italic In code or in text  words in Italic Monospace indicate  Monospace placeholder names for variable information that must be    supplied  i e   arguments      Plain Monospace    n code  words in a Plain Monospace typeface that is a dark red  color but is not bold or italicized indicate pseudo code or  example code  These code segments typically occur in one or    more separate paragra phs     See the glossary sections in the EFI 1 10 Specification and in the EFI Documentation  help system for definitions of terms and abbreviations that are used in this document  or that might be useful in understanding the descriptions presented in this document     See the references sections in the EFl 1 10 Specification and in the in the EFI  Documentation help system for a complete list of the additional documents and  specifications that are required or suggested for interpreting the information  presented in this document     The EFI 1 10 Specification is available from the EFI web site   http    developer intel com technology efi   
16. as the property of others     Copyright    2007  Intel Corporation  All rights reserved     ii Draft for Review    Contents    1 Introducido dada da 1  1 1 OVERVI CW nta dnd 1  1 2 TES E E E ENE AAEN EIE E E EEA AA AAE E A AE 1  1 3 Conventions used in this dOoCUMent          essssssserererrrrrrresrrerrrerrrenrresrresreesree 2   1 3 1 Pseudo code CONVENTIONS            cece cece eee e eee cece eee eset seat eset eeneeeaeeenees 2  1 3 2 Typographic CONVENTIONS              cece e eect eee eee eee eee eee 2  1 4 Related INforMati0N     ooooccccnnnccccnnnnann nan n ana na anna naar naar rara 3   2 Getting Started iria 5  2 1 What is the EBC Debugger  succionar nnna ET ENET aes 5  2 2 Where iS EBC Debugger       cecccce ete e teeter ener eee corro nn r rn EEE DEE HEHE Senna nara 5  2 3 Prerrequisito asian la E AAA 5  2 4 Load the  EBC  DebDuggE    coo carr to e oe db 5  2 5 Run the EBC Debugger        ssssssssrrrrssssrrrrtttttrrrrt ttrt EEE EEE SEED EEE E SEES EERE EEE EEE 6  2 6 A typical EBC Debug SeSSION                cece eee eee e eee eee eee ence e eee esate n rra 6   3 EBC Debugger Command DeSCcription                cece ceteris 9  3 1 OVERVIEW a id 9   3 1 1 Command SUMMATMY cooccncnccncnnnnnnnnnnnnnnnnnnn eee 9  3 1  2 Explanation of Command Description Layout    ocococccccccnconcccnnnnnnnos 10  3 2 EBC Debugger COMMANndS c oocccccccccnncnnnnonnnnnnrnnnnr nn tas 11  3 2 1 Execution class COMMAMNAS           ccccc cece cece cece eee eee eeee seas sent eeneeaas 11  G 11 
17. ble break on callex  Description  Enabling break on callex will cause the debugger to halt execution and display the  debugger prompt prior to executing EBC CALLEX  thunk out  instructions   Examples    Examples     To enable break on CALLEX   Shell gt  EDBCFG BOCX ON      To show the current state     Shell gt  EDBCFG BOCX  BOCX ON    44 Draft for Review    BOR    Summary  break on RET   Usage  BOR  on off    No Argument    show current state  on   enable break on return  off   disable break on return  Description  Enabling break on return will cause the debugger to halt execution and display the  debugger prompt prior to executing EBC RET instructions   Examples    Examples     To enable break on RET   Shell gt  EDBCFG BOR ON      To show the current state     Shell gt  EDBCFG BOR  BOR ON    Draft for Review    45    Configuring the EBC Debugger under EFI Shell    BOE    Summary  break on Driver Entrypoint     Usage  BOE  on off      No Argument    show current state    on   enable break on entrypoint  off   disable break on entrypoint    Description    Enabling break on entrypoint will cause the debugger to halt execution and display  the debugger prompt prior to start a driver entry point   Default is on      Examples  Examples     To disable break on entrypoint   Shell gt  EDBCFG BOE OFF      To show the current state     Shell gt  EDBCFG BOE  BOE OFF    46 Draft for Review    BOT    Summary    break on Native Thunk     Usage  BOT  on off      No Argument    show current
18. ce command will show or clear the latest instruction branch     Examples    Examples     To show the current instruction branch   EDB  gt  TRACE  Instruction Trace    gt Latest    Source Addr Destination Addr Type    0x0000000008D2F652 0x0000000008D2F6CE  JMP8   0x0000000008D2F6E8 0x0000000008D2F6EA  JMP8   0x0000000008D2F702 0x0000000008D2F704  JMP8   0x0000000008D2F70C 0x0000000008D2F72A  JMP8   0x0000000008D2F744 0x0000000008D2F704  JMP8   0x0000000008D2F70C 0x0000000008D2F70E  JMP8   0x0000000008D2F728 0x0000000008D2F800  CALL     Draft for Review    Configuring the EBC Debugger under EFI Shell    R    Summary    display modify register     Usage  R   lt Register gt   lt Value gt       No Argument    Display all registers    lt Register gt    EBC VM register name  RO R7  Flags  ControlFlags  and  IP    lt Value gt    The Hexical value of register    Function Key   F2     Description    The register command is used to display or modify the contents of EBC VM registers    RO R7  Flags  IP      Examples    Examples     To show the current register   EDB  gt  R   RO   0x0000000008b26F14  R1   0x000000000000   R2   0x0000000008b26F14  R3   0x000000000000   R4   0x0000000008b26F14  R5   0x000000000000   R6   0x0000000008b26F14  R7   0x000000000000   Flags   0x0000000000000001  ControlFlags   0x0000000000000000  Ip   0x0000000008D2F61A      To update the current register   EDB  gt  R R1 1    28 Draft for Review    L    Summary    show load instruction assembly count     Usage  L
19. d to operate the EBC debugger      Optional  In order to support symbolic debugging  the user needs to use DEBUG  version of the driver and provide the  MAP file from the building of the driver   The  MAP file should be put into the first file system      Optional  In order to support source level debugging  the user need to use DEBUG  version driver and provide both the  MAP file and the  COD files from the building of  the driver  The  MAP and  COD files should be put into the first file system     If 2 source files have same name they will have COD files with the same name  which  is not supported     Load the EBC Debugger    As EBC Debugger is a driver  there are 2 ways to load it   e The user can load it manually by using shell command    load EbcDebugger  efi        e The user can build the EbcDebugger efi to the firmware image  so it will be loaded  automatically in system booting     Draft for Review    2 5    2 6    Configuring the EBC Debugger under EFI Shell    Run the EBC Debugger    If the EBC debugger is loaded it will automatically start when it meets one of the  following conditions     e An EBC image starts   e Native to EBC thunk code is called     e An EBC exception happens  For example  EBC Breakpoint exception     When the EBC debugger starts  the EBC debugger prompt will be displayed  User can  then use EBC debugger commands in this shell like environment     A typical EBC Debug session    an example of a typical EBC debug session follows  EbcTest efi is
20. ebctest ebctest cod ebctest map    38 Draft for Review    DISPLAYSYMBOL    Summary    disable enable the symbol output     Usage  DISPLAYSYMBOL  on off    No Argument    swtich symbol output state to another one  on   enable symbol output  off   disable symbol output    Function Key   F3     Description    The display symbol command will configure the symbol show or not show when  disassembly     Examples    Examples     To siwtch display symbol   EDB  gt  DISPLAYSYMBOL    Draft for Review    39    Configuring the EBC Debugger under EFI Shell    DI SPLAYCODE    Summary    disable enable the source code only output     Usage  DISPLAYCODE  on off    No Argument    swtich source only output state to another one  on   enable source only output  off   disable source only output    Function Key   F6     Description    The display code command will configure the source code only show or miscellaneous  source code with assembly     Examples    Examples     To siwtch display code   EDB  gt  DISPLAYCODE    40 Draft for Review    3 2 5 Other commands    H  Summary  Help   Usage  H   lt Command gt     No Argument    show help information for all command  Command   show detail help information for this command    Function Key   F1     Description   The help command will print help information for each command   Examples   Examples       To print help   EDB  gt  H    Draft for Review    Configuring the EBC Debugger under EFI Shell    Appendix A Configuring the EBC  Debugger under EFI Shell
21. et the debugger to default value and go     Usage     No Argument     Function Key   None     Description    The quit command will reset the debugger to default value and go     Examples  Examples     To reset the debugger to default value and go   EDB  gt  Q  3 2 2 Break class commands  BOC  Summary    break on CALL     Usage  BOC  on off    No Argument    show current state  on   enable break on call  off   disable break on call    Function Key   None     Description    Enabling break on call will cause the debugger to halt execution and display the  debugger prompt prior to executing any EBC CALL  to EBC  instructions     Draft for Review 15    Configuring the EBC Debugger under EFI Shell    Examples    Examples     To enable break on CALL   EDB  gt  BOC ON      To show the current state     EDB  gt  BOC  BOC ON    16 Draft for Review    BOCX    Summary  break on CALLEX   Usage  BOCX  on off    No Argument    show current state  on   enable break on callex  off   disable break on callex    Function Key   None     Description    Enabling break on callex causes the debugger to halt execution and display the  debugger prompt prior to executing EBC CALLEX  thunk out  instructions     Examples    Examples     To enable break on CALLEX   EDB  gt  BOCX ON      To show the current state     EDB  gt  BOCX  BOCX ON    Draft for Review    17    Configuring the EBC Debugger under EFI Shell    BOR  Summary  break on RET   Usage  BOR  on off    No Argument    show current state  on   en
22. figuring the EBC Debugger under EFI Shell    UNLOADSYMBOL    Summary    unload the symbol file     Usage  UNLOADSYMBOL  lt SymbolFile gt   a   SymbolFile   The EBC symbol file  Its name should be XXX MAP     Function Key   None     Description    The unload symbol command will unload the ebc map and cod file  After that the  name will not be print     Examples    Examples     To unload the symbol   EDB  gt  UNLOADSYMBOL ebctest map    36 Draft for Review    LOADCODE    Summary    load the code file   Usage  LOADCODE  lt CodeFile gt   lt SymbolFile gt     CodeFile   The EBC code file  Its name should be XXX COD   SymbolFile   The EBC symbol file  Its name should be XXX MAP     Function Key   None     Description    The load code command will load the ebc cod file  Then it parses the cod file  and the  print source code when do the disassembly   Code file name should be XXX COD      Examples    Examples     To load the code   EDB  gt  LOADCODE ebctest ebctest cod ebctest map    Draft for Review 37    Configuring the EBC Debugger under EFI Shell    UNLOADCODE    Summary    unload the code file   Usage  UNLOADCODE  lt CodeFile gt   lt SymbolFile gt     CodeFile   The EBC code file  Its name should be XXX COD   SymbolFile   The EBC symbol file  Its name should be XXX MAP     Function Key   None     Description    The unload code command will unload the ebc cod file  After that the source code will  not be print     Examples    Examples     To unload the code   EDB  gt  UNLOADCODE 
23. map  Address Type Symbol    0x08D2E442   F  TestSubRoutine  EbcTest  obj    0x08D2E51A   F  EfiMain  EbcTest  obj    0x08D2E600   F  TestSubRoutineSub  EbcTestSub  ob j    0x08D2E620   F  EfiStart  EbcLib EbcLib obj    0x08D2E800   F  varbss_init_C  efi_src TIANO Edk Sample Universal Ebc Dxe EbcT  est EbcTest c45b6d8ef  EbcTest  obj    0x08D2E820      F  varbss_init_C  efi_src TIANO Edk Sample Universal Ebc Dxe EbcT  est EbcTestSubSc45b6d8ef  EbcTestSub obj    Ox08D2EA00  GU  CrtThunkBegin  EbcLib EbcLib obj    0x08D2EA04  GU  CrtThunkEnd  EbcLib EbcLib obj    0x08D2EA08  GU  CrtBegin  EbcLib EbcLib obj    0x08D2EA14  GU  CrtEnd  EbcLib EbcLib obj    0x08D2EC70  GU  TestStr  EbcTest obj    0x08D2EC78  GU  TestVariablei  EbcTest ob j    0x08D2EC80  GU  TestSubVariableSub  EbcTestSub ob j    0x08D2E400  SF  TestSubRoutine2  EbcTest  obj        Configuring the EBC Debugger under EFI Shell    Figure 2  EBC Debug session   step 2    7  The user allows the program to run freely until the EfiMain   routine  use the  command    G til 8d2e51a      The program execution is now at the Image   s Entry  point  The user can set breakpoints and debug in their code  See Figure 3     EDB  gt  y til 8d2e51a   Break on GoTil    EfiMain      08D2E51A  60 00 70 80 MODUqu RO  A  sil     A   08D2E51E  77 58 58 00 34   08D2E523  12 MOUI ww PRO   0   88    4660  118  UINT16 test   0x1234    08D2E524  72 87 01 12 MOUnw R7   RO  1  128   08D2E528  72 F7 85 21 MOUnw R7  ER   5   24   A rA BE  EFI_STATUS
24. nventions    Pseudo code is presented to describe algorithms in a more concise form  None of the  algorithms in this document are intended to be compiled directly  The code is  presented at a level corresponding to the surrounding text     In describing variables  a list is an unordered collection of homogeneous objects  A  queue is an ordered list of homogeneous objects  Unless otherwise noted  the ordering  is assumed to be First In First Out  FIFO     Pseudo code is presented in a C like format  using C conventions where appropriate   The coding style  particularly the indentation style  is used for readability and does not    necessarily comply with an implementation of the Extensible Firmware Interface  Specification     1 3 2 Typographic conventions    This document uses the typographic and illustrative conventions described below     Plain text The normal text typeface is used for the vast majority of the  descriptive text in a specification     Draft for Review    1 4    Plain text  blue Any plain text that is underlined and in blue indicates an active  link to the cross reference  Click on the word to follow the  hyperlink     Bold In text  a Bold typeface identifies a processor register name  In  other instances  a Bold typeface can be used as a running head  within a paragraph     Italic In text  an Italic typeface can be used as emphasis to introduce  a new term or to indicate a manual or specification name     BOLD Monospace Computer code  example code segments  
25. ssssesssrersrrersrrurrrrarrrrerrrnerirnernnnernnnern 7  Figure 2  EBC Debug session   Step Z  cococccccnccncnncncncnncnnnnconnncnnnnnn etna 8  Figure 3  EBC Debug session   Step 3 1 0    ccc eee ee eect etre rene eterna 8  Table 1  EBC Debugger Command6                cece cetera 9  Table 2 EBC Debugger Configuration Commands                  ce ceeee eee ee eee e eee ee eaten 42    Draft for Review    Revision History    Revision Description Revision  Number Date    Draft candidate February 2007       Draft for Review    Draft for Review    1 1    1 2    Introduction    Overview    This document describes the information on how to use an EBC debugger on EFI  implementation  The following chapters include     e How to use an EBC debugger    e Description for each EBC debugger command    Terms    The following terms are used throughout this document to describe varying aspects of  input localization     Component  An executable image  Components defined in this specification support  one of the defined module types    EFI  Generic term that refers to one of the versions of the EFI specification  EFI  1 02  EFI 1 10  UEFI 2 0  UEFI 2 1  or a later UEFI specification    EFI 1 10 Specification    Intel Corporation published the Extensible Firmware Interface  Specification  Intel donated the EFI specification to the Unified EFI Forum   and the UEFI now owns future updates of the EFI specification  See UEFI  Specifications     GUID  Globally Unique Identifier  A 128 bit value used 
26. to name entities uniquely   An individual without the help of a centralized authority can generate a  unique GUID  This allows the generation of names that will never conflict   even among multiple  unrelated parties    Module    A module is either an executable image or a library instance  For a list of  module types supported by this package  see module type     Draft for Review    1 3    4BI ntroduction    UEFI Application    An application that follows the UEFI specification  The only difference  between a UEFI application and a UEFI driver is that an application is  unloaded from memory when it exits regardless of return status  while a  driver that returns a successful return status is not unloaded when its  entry point exits    UEFI Driver    A driver that follows the UEFI specification     UEFI Specification Version 2 0    First version of the EFI specification released by The Unified EFI Forum   This specification builds on the EFI 1 10 specification and transfers  ownership of the EFI specification from Intel to a non profit  industry trade  organization     UEFI Specification Version 2 1  Current version of the EFI specification released by the Unified EFI Forum     The Unified EFI Forum    A non profit collaborative trade organization formed to promote and  manage the UEFI standard  For more information  see www uefi org     Conventions used in this document    This document uses the typographic and illustrative conventions described below     1 3 1 Pseudo code co
27. xical memory address  Value   The hexical memory value    Function Key   None     Description   Enter BYTES WORDS DWORDS QWORDS Memory   Examples   Examples       To modify the memory   EDB  gt  ED 8D2FC78 8    32 Draft for Review    3 2 4 Symbol class commands    LN    Summary    list the symbol     Usage  LN   F  lt SymbolFile gt    S  lt Symbol gt       lt Address gt      No Argument    List all the symbol   F  lt SymbolFile gt    List the symbol in this symbol file only   S  lt Symbol gt  List this symbol only   Address   The hexical memory address  which user want to find  the symbol for     Function Key   None     Description    The show symbol command will list all the current symbol  It can list the symbol in  one symbol file  or list the same symbol in all the files  It can also list the symbol  according to nearest address   In the result   type field  F means Function  SF means  Static Function  GV means Global Variable     Draft for Review 33    Examples    34    Examples     Configuring the EBC Debugger under EFI Shell      To list the symbol     EDB  gt  LN  Symbol File Name   Address Type    0x08D2F442   F   0x08D2F51A   F   0x08D2F600   F   0x08D2F620   F     0x08D2F800   F     ebctest map    symbol    TestSubRoutine  EbcTest obj   EfiMain  EbcTest obj   TestSubRoutineSub  EbcTest obj   EfiStart  EbcLib EbcLib obj     varbss init C  efi_src TIANO Edk Sample Universal Ebc Dxe EbcTest EbcTest   c45b6d8ef  EbcTest obj     0x08D2F820   F     varbss init C  efi_src
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
STIHL BG 86 Instruction Manual  Kanex DVISW2A video switch  REQUEST FOR PROPOSAL DEMANDE DE PROPOSITION  SD 5000 / SD 2500 Trockenbauschrauber  緊急地震速報サービス受信機器 購入約定書  OM, Partner, P53-675 CMDWAE, 96141022700, 2010  Backpaddock mobile user manual  シングルシェード 標準タイプ ドラム式 取扱説明書    Copyright © All rights reserved. 
   Failed to retrieve file