Lines Matching defs:pDbgc

48 static int dbgcCheckAndTypePromoteArgument(PDBGC pDbgc, DBGCVARCAT enmCategory, PDBGCVAR pArg);
49 static int dbgcProcessArguments(PDBGC pDbgc, const char *pszCmdOrFunc,
83 * @param pDbgc The DBGC instance.
85 size_t dbgcGetFreeScratchSpace(PDBGC pDbgc)
87 return sizeof(pDbgc->achScratch) - (pDbgc->pszScratch - &pDbgc->achScratch[0]);
95 * @param pDbgc The DBGC instance.
98 char *dbgcAllocStringScatch(PDBGC pDbgc, size_t cbRequested)
100 if (cbRequested > dbgcGetFreeScratchSpace(pDbgc))
102 char *psz = pDbgc->pszScratch;
103 pDbgc->pszScratch += cbRequested;
114 * @param pDbgc The DBGC instance.
119 static int dbgcEvalSubString(PDBGC pDbgc, const char *pachExpr, size_t cchExpr, PDBGCVAR pArg)
126 char *pszCopy = dbgcAllocStringScatch(pDbgc, cchExpr + 1);
174 NOREF(pDbgc);
233 * @param pDbgc Debugger console instance data.
239 static int dbgcEvalSubNumericOrPointer(PDBGC pDbgc, char *pszExpr, size_t cchExpr, DBGCVARCAT enmCategory,
307 int rc = dbgcSymbolGet(pDbgc, pszExpr, enmType, pResult);
326 * @param pDbgc Debugger console instance data.
331 static int dbgcEvalSubUnaryAny(PDBGC pDbgc, char *pszExpr, size_t cchExpr, PDBGCVAR pResult)
344 return dbgcEvalSubString(pDbgc, pszExpr, cchExpr, pResult);
358 return dbgcEvalSubString(pDbgc, pszExpr, cchExpr + 1, pResult);
368 return dbgcEvalSubString(pDbgc, pszExpr, cchExpr, pResult);
378 return dbgcEvalSubString(pDbgc, pszExpr, cchExpr, pResult);
388 return dbgcEvalSubString(pDbgc, pszExpr, cchExpr, pResult);
398 return dbgcEvalSubString(pDbgc, pszExpr, cchExpr, pResult);
406 * @param pDbgc The DBGC instance.
416 static int dbgcEvalSubCall(PDBGC pDbgc, char *pszFuncNm, size_t cchFuncNm, bool fExternal, char *pszArgs, size_t cchArgs,
422 PCDBGCFUNC pFunc = dbgcFunctionLookup(pDbgc, pszFuncNm, cchFuncNm, fExternal);
432 int rc = dbgcProcessArguments(pDbgc, pFunc->pszFuncNm,
436 rc = pFunc->pfnHandler(pFunc, &pDbgc->CmdHlp, pDbgc->pUVM, &pDbgc->aArgs[iArg], cArgs, pResult);
437 pDbgc->iArg = iArg;
447 * @param pDbgc Debugger console instance data.
453 static int dbgcEvalSubUnary(PDBGC pDbgc, char *pszExpr, size_t cchExpr, DBGCVARCAT enmCategory, PDBGCVAR pResult)
466 PCDBGCOP pOp = dbgcOperatorLookup(pDbgc, pszExpr, false, ' ');
486 rc = dbgcEvalSub(pDbgc, pszExpr2, cchExpr - (pszExpr2 - pszExpr), pOp->enmCatArg1, &Arg);
488 rc = dbgcEvalSubUnary(pDbgc, pszExpr2, cchExpr - (pszExpr2 - pszExpr), pOp->enmCatArg1, &Arg);
490 rc = dbgcCheckAndTypePromoteArgument(pDbgc, pOp->enmCatArg1, &Arg);
492 rc = pOp->pfnHandlerUnary(pDbgc, &Arg, enmCategory, pResult);
522 return dbgcEvalSubCall(pDbgc, pszFun, cchFunNm, fExternal, pszFunEnd + 1, cchExpr - cchFunNm - fExternal - 2,
534 return dbgcEvalSubUnaryAny(pDbgc, pszExpr, cchExpr, pResult);
545 return dbgcEvalSubNumericOrPointer(pDbgc, pszExpr, cchExpr, enmCategory, pResult);
550 return dbgcEvalSubString(pDbgc, pszExpr, cchExpr, pResult);
568 * @param pDbgc Debugger console instance data.
573 int dbgcEvalSub(PDBGC pDbgc, char *pszExpr, size_t cchExpr, DBGCVARCAT enmCategory, PDBGCVAR pResult)
705 ? dbgcOperatorLookup(pDbgc, psz, fBinary, chPrev)
768 rc = dbgcEvalSub(pDbgc, pszExpr, pszOpSplit - pszExpr, pOpSplit->enmCatArg1, &Arg1);
774 rc = dbgcEvalSub(pDbgc, psz2, cchExpr - (psz2 - pszExpr), pOpSplit->enmCatArg2, &Arg2);
776 rc = dbgcCheckAndTypePromoteArgument(pDbgc, pOpSplit->enmCatArg1, &Arg1);
778 rc = dbgcCheckAndTypePromoteArgument(pDbgc, pOpSplit->enmCatArg2, &Arg2);
780 rc = pOpSplit->pfnHandlerBinary(pDbgc, &Arg1, &Arg2, pResult);
788 rc = dbgcEvalSub(pDbgc, pszOpSplit, cchExpr - (pszOpSplit - pszExpr), pOpSplit->enmCatArg1, &Arg);
790 rc = dbgcCheckAndTypePromoteArgument(pDbgc, pOpSplit->enmCatArg1, &Arg);
792 rc = pOpSplit->pfnHandlerUnary(pDbgc, &Arg, enmCategory, pResult);
796 rc = dbgcEvalSubUnary(pDbgc, pszExpr, cchExpr, enmCategory, pResult);
807 * @param pDbgc Debugger console instance data.
811 static int dbgcCheckAndTypePromoteArgument(PDBGC pDbgc, DBGCVARCAT enmCategory, PDBGCVAR pArg)
846 int rc = dbgcSymbolGet(pDbgc, pArg->u.pszString, DBGCVAR_TYPE_GC_FLAT, &Var);
902 int rc = dbgcSymbolGet(pDbgc, pArg->u.pszString, DBGCVAR_TYPE_GC_FLAT, &Var);
957 int rc = dbgcSymbolGet(pDbgc, pArg->u.pszString, DBGCVAR_TYPE_NUMBER, &Var);
1000 size_t cbScratch = sizeof(pDbgc->achScratch) - (pDbgc->pszScratch - &pDbgc->achScratch[0]);
1001 size_t cch = pDbgc->CmdHlp.pfnStrPrintf(&pDbgc->CmdHlp, pDbgc->pszScratch, cbScratch, "%Dv", pArg);
1006 pArg->u.pszString = pDbgc->pszScratch;
1010 pDbgc->pszScratch += cch + 1;
1034 * @param pDbgc Debugger console instance data.
1048 static int dbgcProcessArguments(PDBGC pDbgc, const char *pszCmdOrFunc,
1058 *piArg = pDbgc->iArg;
1075 PDBGCVAR pArg = &pDbgc->aArgs[pDbgc->iArg];
1088 if (pDbgc->iArg >= RT_ELEMENTS(pDbgc->aArgs))
1191 PCDBGCOP pOp = dbgcOperatorLookup(pDbgc, psz, fBinary, ' ');
1207 PCDBGCOP pOp = dbgcOperatorLookup(pDbgc, psz, fBinary, ' ');
1243 int rc = dbgcEvalSub(pDbgc, pszArgs, cchArgs, paVarDescs[iVarDesc].enmCategory, pArg);
1245 rc = dbgcCheckAndTypePromoteArgument(pDbgc, paVarDescs[iVarDesc].enmCategory, pArg);
1282 pDbgc->iArg++;
1314 * @param pDbgc Debugger console instance data.
1319 int dbgcEvalCommand(PDBGC pDbgc, char *pszCmd, size_t cchCmd, bool fNoExecute)
1343 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "Syntax error: Invalid command '%s'!\n", pszCmdInput);
1344 return pDbgc->rcCmd = VERR_DBGC_PARSE_INVALD_COMMAND_NAME;
1350 PCDBGCCMD pCmd = dbgcCommandLookup(pDbgc, pszCmd, pszArgs - pszCmd, fExternal);
1353 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "Syntax error: Unknown command '%s'!\n", pszCmdInput);
1354 return pDbgc->rcCmd = VERR_DBGC_PARSE_COMMAND_NOT_FOUND;
1362 int rc = dbgcProcessArguments(pDbgc, pCmd->pszCmd,
1373 rc = pCmd->pfnHandler(pCmd, &pDbgc->CmdHlp, pDbgc->pUVM, &pDbgc->aArgs[iArg], cArgs);
1374 pDbgc->rcCmd = rc;
1375 pDbgc->iArg = iArg;
1381 pDbgc->rcCmd = rc;
1382 pDbgc->iArg = iArg;
1388 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1392 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1396 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1400 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1404 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1408 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1412 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1416 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1420 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1424 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1428 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1432 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1436 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1440 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1444 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1448 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1452 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1456 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1460 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp,
1471 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "Error: %s (%d) - %s\n", pErr->pszDefine, rc, pErr->pszMsgFull);
1473 rc = DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "Error: Unknown error %d (%#x)!\n", rc, rc);