Lines Matching defs:pDbgc

480         PDBGC   pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
481 rc = dbgcBpAdd(pDbgc, iBp, pszCmds);
486 rc = dbgcBpUpdate(pDbgc, iBp, pszCmds);
490 int rc2 = DBGFR3BpClear(pDbgc->pUVM, iBp);
507 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
521 dbgcBpDelete(pDbgc, iBp);
529 PDBGCBP pBp = pDbgc->pFirstBp;
539 dbgcBpDelete(pDbgc, iBp);
576 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
577 for (PDBGCBP pBp = pDbgc->pFirstBp; pBp; pBp = pBp->pNext)
620 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
621 for (PDBGCBP pBp = pDbgc->pFirstBp; pBp; pBp = pBp->pNext)
645 PDBGC pDbgc = (PDBGC)pvUser;
646 PDBGCBP pDbgcBp = dbgcBpGet(pDbgc, pBp->iBp);
678 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "%#4x %c %d %c %RGv %04RX64 (%04RX64 to ",
682 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "~0) ");
684 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "%04RX64)", pBp->iHitDisable);
692 int rc = DBGFR3AsSymbolByAddr(pUVM, pDbgc->hDbgAs, DBGFR3AddrFromFlat(pDbgc->pUVM, &Addr, pBp->GCPtr),
697 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "%s", Sym.szName);
699 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "%s+%RGv", Sym.szName, off);
701 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "%s-%RGv", Sym.szName, -off);
710 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "\n cmds: '%s'\n", pDbgcBp->szCmd);
712 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, "\n");
715 DBGCCmdHlpPrintf(&pDbgc->CmdHlp, " [unknown bp]\n");
733 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
734 int rc = DBGFR3BpEnum(pUVM, dbgcEnumBreakpointsCallback, pDbgc);
784 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
785 rc = dbgcBpAdd(pDbgc, iBp, pszCmds);
790 rc = dbgcBpUpdate(pDbgc, iBp, pszCmds);
794 int rc2 = DBGFR3BpClear(pDbgc->pUVM, iBp);
844 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
845 rc = dbgcBpAdd(pDbgc, iBp, pszCmds);
850 rc = dbgcBpUpdate(pDbgc, iBp, pszCmds);
854 int rc2 = DBGFR3BpClear(pDbgc->pUVM, iBp);
907 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
916 if (!cArgs && !DBGCVAR_ISPOINTER(pDbgc->DisasmPos.enmType))
940 if (!DBGCVAR_ISPOINTER(pDbgc->DisasmPos.enmType))
943 PVMCPU pVCpu = VMMR3GetCpuByIdU(pUVM, pDbgc->idCpu);
944 if ( pDbgc->fRegCtxGuest
947 pDbgc->DisasmPos.enmType = DBGCVAR_TYPE_GC_FLAT;
948 pDbgc->SourcePos.u.GCFlat = CPUMGetGuestRIP(pVCpu);
952 pDbgc->DisasmPos.enmType = DBGCVAR_TYPE_GC_FAR;
953 pDbgc->SourcePos.u.GCFar.off = pDbgc->fRegCtxGuest ? CPUMGetGuestEIP(pVCpu) : CPUMGetHyperEIP(pVCpu);
954 pDbgc->SourcePos.u.GCFar.sel = pDbgc->fRegCtxGuest ? CPUMGetGuestCS(pVCpu) : CPUMGetHyperCS(pVCpu);
956 && pDbgc->fRegCtxGuest
964 if (pDbgc->fRegCtxGuest)
969 else if ((fFlags & DBGF_DISAS_FLAGS_MODE_MASK) == DBGF_DISAS_FLAGS_DEFAULT_MODE && pDbgc->fDisasm)
972 fFlags |= pDbgc->fDisasm & (DBGF_DISAS_FLAGS_MODE_MASK | DBGF_DISAS_FLAGS_HYPER);
974 pDbgc->DisasmPos.enmRangeType = DBGCVAR_RANGE_NONE;
977 pDbgc->DisasmPos = paArgs[0];
978 pDbgc->pLastPos = &pDbgc->DisasmPos;
983 switch (pDbgc->DisasmPos.enmRangeType)
986 pDbgc->DisasmPos.enmRangeType = DBGCVAR_RANGE_ELEMENTS;
987 pDbgc->DisasmPos.u64Range = 10;
991 if (pDbgc->DisasmPos.u64Range > 2048)
996 if (pDbgc->DisasmPos.u64Range > 65536)
1001 return DBGCCmdHlpFail(pCmdHlp, pCmd, "Unknown range type %d", pDbgc->DisasmPos.enmRangeType);
1007 RTDBGAS hDbgAs = pDbgc->hDbgAs;
1009 switch (pDbgc->DisasmPos.enmType)
1020 rc = DBGCCmdHlpEval(pCmdHlp, &VarTmp, "%%(%Dv)", &pDbgc->DisasmPos);
1022 return DBGCCmdHlpFailRc(pCmdHlp, pCmd, rc, "failed to evaluate '%%(%Dv)'", &pDbgc->DisasmPos);
1023 pDbgc->DisasmPos = VarTmp;
1031 && pDbgc->DisasmPos.enmType == DBGCVAR_TYPE_GC_FAR)
1032 DBGFR3AddrFromFlat(pUVM, &CurAddr, ((uint32_t)pDbgc->DisasmPos.u.GCFar.sel << 4) + pDbgc->DisasmPos.u.GCFar.off);
1035 rc = DBGCCmdHlpVarToDbgfAddr(pCmdHlp, &pDbgc->DisasmPos, &CurAddr);
1037 return DBGCCmdHlpFailRc(pCmdHlp, pCmd, rc, "DBGCCmdHlpVarToDbgfAddr failed on '%Dv'", &pDbgc->DisasmPos);
1042 pDbgc->fDisasm = fFlags;
1055 int iRangeLeft = (int)pDbgc->DisasmPos.u64Range;
1065 if (pDbgc->DisasmPos.enmType == DBGCVAR_TYPE_GC_FLAT)
1066 rc = DBGFR3DisasInstrEx(pUVM, pDbgc->idCpu, DBGF_SEL_FLAT, pDbgc->DisasmPos.u.GCFlat, fFlags,
1069 rc = DBGFR3DisasInstrEx(pUVM, pDbgc->idCpu, pDbgc->DisasmPos.u.GCFar.sel, pDbgc->DisasmPos.u.GCFar.off, fFlags,
1074 rc = DBGCCmdHlpPrintf(pCmdHlp, "%-16DV %s\n", &pDbgc->DisasmPos, &szDis[0]);
1092 if (pDbgc->DisasmPos.enmRangeType == DBGCVAR_RANGE_ELEMENTS)
1096 rc = DBGCCmdHlpEval(pCmdHlp, &pDbgc->DisasmPos, "(%Dv) + %x", &pDbgc->DisasmPos, cbInstr);
1098 return DBGCCmdHlpFailRc(pCmdHlp, pCmd, rc, "DBGCCmdHlpEval(,,'(%Dv) + %x')", &pDbgc->DisasmPos, cbInstr);
1107 && pDbgc->DisasmPos.enmType == DBGCVAR_TYPE_GC_FAR)
1108 DBGFR3AddrFromFlat(pUVM, &CurAddr, ((uint32_t)pDbgc->DisasmPos.u.GCFar.sel << 4) + pDbgc->DisasmPos.u.GCFar.off);
1110 rc = DBGCCmdHlpVarToDbgfAddr(pCmdHlp, &pDbgc->DisasmPos, &CurAddr);
1130 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
1138 if (!pUVM && !cArgs && !DBGCVAR_ISPOINTER(pDbgc->SourcePos.enmType))
1148 if (!DBGCVAR_ISPOINTER(pDbgc->SourcePos.enmType))
1150 PVMCPU pVCpu = VMMR3GetCpuByIdU(pUVM, pDbgc->idCpu);
1151 pDbgc->SourcePos.enmType = DBGCVAR_TYPE_GC_FAR;
1152 pDbgc->SourcePos.u.GCFar.off = pDbgc->fRegCtxGuest ? CPUMGetGuestEIP(pVCpu) : CPUMGetHyperEIP(pVCpu);
1153 pDbgc->SourcePos.u.GCFar.sel = pDbgc->fRegCtxGuest ? CPUMGetGuestCS(pVCpu) : CPUMGetHyperCS(pVCpu);
1155 pDbgc->SourcePos.enmRangeType = DBGCVAR_RANGE_NONE;
1158 pDbgc->SourcePos = paArgs[0];
1159 pDbgc->pLastPos = &pDbgc->SourcePos;
1164 switch (pDbgc->SourcePos.enmType)
1173 int rc = DBGCCmdHlpEval(pCmdHlp, &pDbgc->SourcePos, "%%(%Dv)", &pDbgc->SourcePos);
1184 switch (pDbgc->SourcePos.enmRangeType)
1187 pDbgc->SourcePos.enmRangeType = DBGCVAR_RANGE_ELEMENTS;
1188 pDbgc->SourcePos.u64Range = 10;
1192 if (pDbgc->SourcePos.u64Range > 2048)
1197 if (pDbgc->SourcePos.u64Range > 65536)
1202 return DBGCCmdHlpPrintf(pCmdHlp, "internal error: Unknown range type %d.\n", pDbgc->SourcePos.enmRangeType);
1210 int iRangeLeft = (int)pDbgc->SourcePos.u64Range;
1221 int rc = DBGCCmdHlpVarToDbgfAddr(pCmdHlp, &pDbgc->SourcePos, &SourcePosAddr);
1223 return DBGCCmdHlpFailRc(pCmdHlp, pCmd, rc, "DBGCCmdHlpVarToDbgfAddr(,%Dv)", &pDbgc->SourcePos);
1224 rc = DBGFR3AsLineByAddr(pUVM, pDbgc->hDbgAs, &SourcePosAddr, &off, &Line, NULL);
1298 if (pDbgc->SourcePos.enmRangeType == DBGCVAR_RANGE_ELEMENTS)
1302 rc = DBGCCmdHlpEval(pCmdHlp, &pDbgc->SourcePos, "(%Dv) + %x", &pDbgc->SourcePos, 1);
1304 return pCmdHlp->pfnVBoxError(pCmdHlp, rc, "Expression: (%Dv) + %x\n", &pDbgc->SourcePos, 1);
1319 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
1320 if (!pDbgc->fRegCtxGuest)
1333 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
1344 VMCPUID idCpu = pDbgc->idCpu;
1445 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
1448 && DBGFR3CpuIsIn64BitCode(pUVM, pDbgc->idCpu));
1452 if (pDbgc->fRegTerse)
1455 rc = DBGFR3RegPrintf(pUVM, pDbgc->idCpu, &szDisAndRegs[0], sizeof(szDisAndRegs),
1464 rc = DBGFR3RegPrintf(pUVM, pDbgc->idCpu, szDisAndRegs, sizeof(szDisAndRegs),
1473 rc = DBGFR3RegPrintf(pUVM, pDbgc->idCpu, &szDisAndRegs[0], sizeof(szDisAndRegs),
1501 rc = DBGFR3RegPrintf(pUVM, pDbgc->idCpu, szDisAndRegs, sizeof(szDisAndRegs),
1545 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
1549 if (pDbgc->fRegTerse)
1550 rc = DBGFR3RegPrintf(pUVM, pDbgc->idCpu | DBGFREG_HYPER_VMCPUID, szDisAndRegs, sizeof(szDisAndRegs),
1556 rc = DBGFR3RegPrintf(pUVM, pDbgc->idCpu | DBGFREG_HYPER_VMCPUID, szDisAndRegs, sizeof(szDisAndRegs),
1592 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
1593 pDbgc->fRegTerse = !pDbgc->fRegTerse;
1594 return DBGCCmdHlpPrintf(pCmdHlp, pDbgc->fRegTerse ? "info: Terse register info.\n" : "info: Verbose register info.\n");
1603 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
1605 int rc = DBGFR3Step(pUVM, pDbgc->idCpu);
1607 pDbgc->fReady = false;
1609 rc = pDbgc->CmdHlp.pfnVBoxError(&pDbgc->CmdHlp, rc, "When trying to single step VM %p\n", pDbgc->pVM);
1621 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
1629 || (!pCmd->pszCmd[1] && pDbgc->fRegCtxGuest);
1630 rc = DBGFR3StackWalkBegin(pUVM, pDbgc->idCpu, fGuest ? DBGFCODETYPE_GUEST : DBGFCODETYPE_HYPER, &pFirstFrame);
2025 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
2026 PVMCPU pVCpu = VMMR3GetCpuByIdU(pUVM, pDbgc->idCpu);
2082 int rc = DBGFR3SelQueryInfo(pUVM, pDbgc->idCpu, Sel | SelTable, DBGFSELQI_FLAGS_DT_GUEST, &SelInfo);
2138 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
2139 PVMCPU pVCpu = VMMR3GetCpuByIdU(pUVM, pDbgc->idCpu);
2244 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
2271 fAscii = !!(pDbgc->cbDumpElement & 0x80000000);
2272 cbElement = pDbgc->cbDumpElement & 0x7fffffff;
2282 pDbgc->DumpPos.enmRangeType = DBGCVAR_RANGE_NONE;
2284 pDbgc->DumpPos = paArgs[0];
2289 switch (pDbgc->DumpPos.enmRangeType)
2292 pDbgc->DumpPos.enmRangeType = DBGCVAR_RANGE_BYTES;
2293 pDbgc->DumpPos.u64Range = 0x60;
2297 if (pDbgc->DumpPos.u64Range > 2048)
2299 pDbgc->DumpPos.enmRangeType = DBGCVAR_RANGE_BYTES;
2300 pDbgc->DumpPos.u64Range = (cbElement ? cbElement : 1) * pDbgc->DumpPos.u64Range;
2304 if (pDbgc->DumpPos.u64Range > 65536)
2309 return DBGCCmdHlpPrintf(pCmdHlp, "internal error: Unknown range type %d.\n", pDbgc->DumpPos.enmRangeType);
2312 pDbgc->pLastPos = &pDbgc->DumpPos;
2317 pDbgc->cbDumpElement = cbElement | (fAscii << 31);
2318 int cbLeft = (int)pDbgc->DumpPos.u64Range;
2328 int rc = pCmdHlp->pfnMemRead(pCmdHlp, &achBuffer, cbReq, &pDbgc->DumpPos, &cb);
2333 return pCmdHlp->pfnVBoxError(pCmdHlp, rc, "Reading memory at %DV.\n", &pDbgc->DumpPos);
2342 DBGCCmdHlpPrintf(pCmdHlp, "%DV:", &pDbgc->DumpPos);
2359 if (pDbgc->cbDumpElement == 1)
2382 DBGCCmdHlpPrintf(pCmdHlp, "%DV:\n", &pDbgc->DumpPos);
2409 rc = DBGCCmdHlpEval(pCmdHlp, &pDbgc->DumpPos, "(%Dv) + %x", &pDbgc->DumpPos, cb);
2411 return pCmdHlp->pfnVBoxError(pCmdHlp, rc, "Expression: (%Dv) + %x\n", &pDbgc->DumpPos, cb);
2429 * @param pDbgc The DBGC instance.
2436 static RTGCPHYS dbgcGetGuestPageMode(PDBGC pDbgc, bool *pfPAE, bool *pfLME, bool *pfPSE, bool *pfPGE, bool *pfNXE)
2438 PVMCPU pVCpu = VMMR3GetCpuByIdU(pDbgc->pUVM, pDbgc->idCpu);
2460 * @param pDbgc The DBGC instance.
2467 static RTHCPHYS dbgcGetShadowPageMode(PDBGC pDbgc, bool *pfPAE, bool *pfLME, bool *pfPSE, bool *pfPGE, bool *pfNXE)
2469 PVMCPU pVCpu = VMMR3GetCpuByIdU(pDbgc->pUVM, pDbgc->idCpu);
2505 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
2524 ? pDbgc->fRegCtxGuest
2529 ? dbgcGetGuestPageMode(pDbgc, &fPAE, &fLME, &fPSE, &fPGE, &fNXE)
2530 : dbgcGetShadowPageMode(pDbgc, &fPAE, &fLME, &fPSE, &fPGE, &fNXE);
2773 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
2783 fFlags |= pDbgc->fRegCtxGuest ? DBGFPGDMP_FLAGS_GUEST : DBGFPGDMP_FLAGS_SHADOW;
2791 if (pDbgc->cPagingHierarchyDumps == 0)
2793 pDbgc->cPagingHierarchyDumps = (pDbgc->cPagingHierarchyDumps + 1) % 42;
2798 PCDBGCVAR pRange = cArgs > 0 ? &paArgs[0] : pDbgc->pLastPos;
2875 rc = DBGFR3PagingDumpEx(pUVM, pDbgc->idCpu, fFlags, cr3, GCPtrFirst, GCPtrLast, 99 /*cMaxDepth*/,
2889 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
2908 ? pDbgc->fRegCtxGuest
2913 ? dbgcGetGuestPageMode(pDbgc, &fPAE, &fLME, &fPSE, &fPGE, &fNXE)
2914 : dbgcGetShadowPageMode(pDbgc, &fPAE, &fLME, &fPSE, &fPGE, &fNXE);
3125 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
3154 rc = DBGFR3RegCpuQueryU16(pUVM, pDbgc->idCpu, DBGFREG_TR, &SelTR);
3186 rc = DBGFR3SelQueryInfo(pUVM, pDbgc->idCpu, VarTssAddr.u.GCFar.sel, DBGFSELQI_FLAGS_DT_GUEST, &SelInfo);
3189 pDbgc->idCpu, VarTssAddr.u.GCFar.sel, rc);
3228 rc = DBGFR3RegCpuQueryU64(pUVM, pDbgc->idCpu, DBGFREG_MSR_K6_EFER, &uEfer);
3599 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
3668 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
3678 int rc = DBGFR3MemScan(pUVM, pDbgc->idCpu, pAddress, cbRange, 1, pabBytes, cbBytes, &HitAddress);
3723 if (pDbgc->abSearch != pabBytes)
3725 memcpy(pDbgc->abSearch, pabBytes, cbBytes);
3726 pDbgc->cbSearch = cbBytes;
3727 pDbgc->cbSearchUnit = cbUnit;
3729 pDbgc->cMaxSearchHits = cMaxHits;
3730 pDbgc->SearchAddr = *pAddress;
3731 pDbgc->cbSearchRange = cbRange;
3747 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
3752 if (!pDbgc->cbSearch)
3761 DBGFADDRESS Address = pDbgc->SearchAddr;
3768 RTGCUINTPTR cbRange = pDbgc->cbSearchRange;
3771 if (Address.FlatPtr + cbRange < pDbgc->SearchAddr.FlatPtr)
3772 cbRange = ~(RTGCUINTPTR)0 - pDbgc->SearchAddr.FlatPtr + !!pDbgc->SearchAddr.FlatPtr;
3774 return dbgcCmdWorkerSearchMemDoIt(pCmdHlp, pUVM, &Address, cbRange, pDbgc->abSearch, pDbgc->cbSearch,
3775 pDbgc->cbSearchUnit, pDbgc->cMaxSearchHits, pResult);
3902 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
3911 rc = DBGFR3AsSymbolByName(pUVM, pDbgc->hDbgAs, pArg->u.pszString, &Symbol, NULL);
3929 rc = DBGFR3AsSymbolByAddr(pUVM, pDbgc->hDbgAs, DBGFR3AddrFromFlat(pDbgc->pUVM, &Addr, AddrVar.u.GCFlat),
3955 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
3962 const char *pszFmtExpr = pDbgc->fRegCtxGuest ? "%%(cs:eip)" : "%%(.cs:.eip)";
4009 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp);
4015 RTDBGAS hAs = DBGFR3AsResolveAndRetain(pUVM, pDbgc->hDbgAs);