VirtualBox

vbox的更動 58890 路徑 trunk/src/VBox/Debugger


忽略:
時間撮記:
2015-11-27 上午12:17:43 (9 年 以前)
作者:
vboxsync
訊息:

DBGCEmulateCodeView.cpp: Sketched out the sx[-enir] commands which we'll use to control various debug events; guest CPU exceptions are up first.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Debugger/DBGCEmulateCodeView.cpp

    r58540 r58890  
    7373static FNDBGCCMD dbgcCmdSearchMem;
    7474static FNDBGCCMD dbgcCmdSearchMemType;
     75static FNDBGCCMD dbgcCmdEventCtrl;
     76static FNDBGCCMD dbgcCmdEventCtrlList;
     77static FNDBGCCMD dbgcCmdEventCtrlReset;
    7578static FNDBGCCMD dbgcCmdStack;
    7679static FNDBGCCMD dbgcCmdTrace;
     
    278281};
    279282
     283
     284/** 'sxe', 'sxn', 'sxi', 'sx-' arguments. */
     285static const DBGCVARDESC    g_aArgEventCtrl[] =
     286{
     287    /* cTimesMin,   cTimesMax,  enmCategory,            fFlags,                         pszName,        pszDescription */
     288    {  0,           1,          DBGCVAR_CAT_STRING,     0,                              "-c",           "The -c option, requires <cmds>." },
     289    {  0,           1,          DBGCVAR_CAT_STRING,     DBGCVD_FLAGS_DEP_PREV,          "cmds",         "Command to execute on this event." },
     290    {  1,           ~0U,        DBGCVAR_CAT_STRING,     0,                              "event",        "One or more events, 'all' refering to all events." },
     291};
     292
     293/** 'sx' and 'sr' arguments. */
     294static const DBGCVARDESC    g_aArgEventCtrlOpt[] =
     295{
     296    /* cTimesMin,   cTimesMax,  enmCategory,            fFlags,                         pszName,        pszDescription */
     297    {  0,           ~0U,        DBGCVAR_CAT_STRING,     0,                              "event",        "Zero or more events, 'all' refering to all events and being the default." },
     298};
    280299
    281300/** 'u' arguments. */
     
    363382    { "su",         2,       ~0U,       &g_aArgSearchMemType[0], RT_ELEMENTS(g_aArgSearchMemType),0, dbgcCmdSearchMemType, "<range> <pattern>",  "Search memory for an unicode string." },
    364383    { "sw",         2,       ~0U,       &g_aArgSearchMemType[0], RT_ELEMENTS(g_aArgSearchMemType),0, dbgcCmdSearchMemType, "<range> <pattern>",  "Search memory for one or more words." },
     384    { "sx",         0,        0,        &g_aArgEventCtrlOpt[0], RT_ELEMENTS(g_aArgEventCtrlOpt), 0,  dbgcCmdEventCtrlList,  "[<event> [..]]", "Lists settings for exceptions, exits and other events.  All if no filter is specified." },
     385    { "sx-",        2,       ~0U,       &g_aArgEventCtrl[0], RT_ELEMENTS(g_aArgEventCtrl),  0,       dbgcCmdEventCtrl,      "-c <cmd> <event> [..]", "Modifies the command for one or more exceptions, exits or other event.  'all' addresses all." },
     386    { "sxe",        2,       ~0U,       &g_aArgEventCtrl[0], RT_ELEMENTS(g_aArgEventCtrl),  0,       dbgcCmdEventCtrl,      "[-c <cmd>] <event> [..]", "Enable: Break into the debugger on the specified exceptions, exits and other events.  'all' addresses all." },
     387    { "sxn",        2,       ~0U,       &g_aArgEventCtrl[0], RT_ELEMENTS(g_aArgEventCtrl),  0,       dbgcCmdEventCtrl,      "[-c <cmd>] <event> [..]", "Notify: Display info in the debugger and continue on the specified exceptions, exits and other events. 'all' addresses all." },
     388    { "sxi",        2,       ~0U,       &g_aArgEventCtrl[0], RT_ELEMENTS(g_aArgEventCtrl),  0,       dbgcCmdEventCtrl,      "[-c <cmd>] <event> [..]", "Ignore: Ignore the specified exceptions, exits and other events ('all' = all of them).  Without the -c option, the guest runs like normal." },
     389    { "sxr",        0,        0,        &g_aArgEventCtrlOpt[0], RT_ELEMENTS(g_aArgEventCtrlOpt), 0,  dbgcCmdEventCtrlReset, "",                    "Reset the settings to default for exceptions, exits and other events. All if no filter is specified." },
    365390    { "t",          0,        0,        NULL,               0,                              0,       dbgcCmdTrace,       "",                     "Instruction trace (step into)." },
    366391    { "u",          0,        1,        &g_aArgUnassemble[0],RT_ELEMENTS(g_aArgUnassemble), 0,       dbgcCmdUnassemble,  "[addr]",               "Unassemble." },
     
    38893914    return dbgcCmdWorkerSearchMem(pCmdHlp, pUVM, &paArgs[0], 25, pCmd->pszCmd[1], paArgs + 1, cArgs - 1, NULL);
    38903915}
     3916
     3917
     3918/**
     3919 * @callback_method_impl{FNDBGCCMD, The 'sx[eni-]' commands.}
     3920 */
     3921static DECLCALLBACK(int) dbgcCmdEventCtrl(PCDBGCCMD pCmd, PDBGCCMDHLP pCmdHlp, PUVM pUVM, PCDBGCVAR paArgs, unsigned cArgs)
     3922{
     3923    return VERR_NOT_IMPLEMENTED;
     3924}
     3925
     3926
     3927/**
     3928 * @callback_method_impl{FNDBGCCMD, The 'sx' commands.}
     3929 */
     3930static DECLCALLBACK(int) dbgcCmdEventCtrlList(PCDBGCCMD pCmd, PDBGCCMDHLP pCmdHlp, PUVM pUVM, PCDBGCVAR paArgs, unsigned cArgs)
     3931{
     3932    return VERR_NOT_IMPLEMENTED;
     3933}
     3934
     3935
     3936/**
     3937 * @callback_method_impl{FNDBGCCMD, The 'sxr' commands.}
     3938 */
     3939static DECLCALLBACK(int) dbgcCmdEventCtrlReset(PCDBGCCMD pCmd, PDBGCCMDHLP pCmdHlp, PUVM pUVM, PCDBGCVAR paArgs, unsigned cArgs)
     3940{
     3941    return VERR_NOT_IMPLEMENTED;
     3942}
     3943
    38913944
    38923945
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette