VirtualBox

Changeset 46128 in vbox for trunk/src/VBox/Debugger


Ignore:
Timestamp:
May 16, 2013 2:22:11 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
85819
Message:

WinNT Digger: Some adjustments to the 32-bit detection code. print arch in version string.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/VBox/Debugger/DBGPlugInWinNt.cpp

    r46127 r46128  
    746746        default:                        pszNtProductType = "";              break;
    747747    }
    748     RTStrPrintf(pszVersion, cchVersion, "%u.%u%s", pThis->NtMajorVersion, pThis->NtMinorVersion, pszNtProductType);
     748    RTStrPrintf(pszVersion, cchVersion, "%u.%u-%s%s", pThis->NtMajorVersion, pThis->NtMinorVersion,
     749                pThis->f32Bit ? "x86" : "AMD64", pszNtProductType);
    749750    return VINF_SUCCESS;
    750751}
     
    10041005                            &&  uMte2.v32.SizeOfImage == uMte.v32.SizeOfImage
    10051006                            &&  WINNT32_VALID_ADDRESS(uMte2.v32.InLoadOrderLinks.Flink)
    1006                             &&  uMte2.v32.InLoadOrderLinks.Blink > KernelAddr.FlatPtr    /* list head inside ntoskrnl */
    1007                             &&  uMte2.v32.InLoadOrderLinks.Blink < KernelAddr.FlatPtr + uMte.v32.SizeOfImage
    10081007                            &&  WINNT32_VALID_ADDRESS(uMte2.v32.BaseDllName.Buffer)
    10091008                            &&  WINNT32_VALID_ADDRESS(uMte2.v32.FullDllName.Buffer)
    1010                             &&  uMte2.v32.BaseDllName.Length <= uMte2.v32.BaseDllName.MaximumLength
    1011                             &&  uMte2.v32.BaseDllName.Length == WINNT_KERNEL_BASE_NAME_LEN * 2
    1012                             &&  uMte2.v32.FullDllName.Length <= uMte2.v32.FullDllName.MaximumLength
    1013                             &&  uMte2.v32.FullDllName.Length <= 256
     1009                            &&  uMte2.v32.BaseDllName.Length <= 128
     1010                            &&  uMte2.v32.FullDllName.Length <= 260
    10141011                           )
    10151012                        {
     
    10381035                                    return true;
    10391036                                }
     1037                            }
     1038                            else if (RT_SUCCESS(rc))
     1039                            {
     1040                                Log2(("DigWinNt: Wrong module: MteAddr=%RGv ImageAddr=%RGv SizeOfImage=%#x '%ls'\n",
     1041                                      MteAddr.FlatPtr, KernelAddr.FlatPtr, uMte2.v32.SizeOfImage, u.wsz));
     1042                                break; /* Not NT kernel */
    10401043                            }
    10411044                        }
     
    10701073                    DBGFADDRESS ScanAddr;
    10711074                    DBGFADDRESS HitAddr;
    1072                     rc = DBGFR3MemScan(pUVM, 0 /*idCpu*/,
    1073                                        DBGFR3AddrFromFlat(pUVM, &ScanAddr, uStart),
    1074                                        uEnd - uStart,
    1075                                        4 /*align*/, &uMte.v64.DllBase, 5 * sizeof(uint32_t), &HitAddr);
     1075                    rc = DBGFR3MemScan(pUVM, 0 /*idCpu*/, DBGFR3AddrFromFlat(pUVM, &ScanAddr, uStart),
     1076                                       uEnd - uStart, 8 /*align*/, &uMte.v64.DllBase, 5 * sizeof(uint32_t), &HitAddr);
    10761077                    while (RT_SUCCESS(rc))
    10771078                    {
     
    10871088                            &&  WINNT64_VALID_ADDRESS(uMte2.v64.BaseDllName.Buffer)
    10881089                            &&  WINNT64_VALID_ADDRESS(uMte2.v64.FullDllName.Buffer)
     1090                            &&  uMte2.v64.BaseDllName.Length <= 128
     1091                            &&  uMte2.v64.FullDllName.Length <= 260
    10891092                            )
    10901093                        {
     
    11231126
    11241127                        /* next */
    1125                         DBGFR3AddrAdd(&HitAddr, 4);
     1128                        DBGFR3AddrAdd(&HitAddr, 8);
    11261129                        if (HitAddr.FlatPtr < uEnd)
    11271130                            rc = DBGFR3MemScan(pUVM, 0 /*idCpu*/, &HitAddr, uEnd - HitAddr.FlatPtr,
    1128                                                4 /*align*/, &uMte.v64.DllBase, 3 * sizeof(uint32_t), &HitAddr);
     1131                                               8 /*align*/, &uMte.v64.DllBase, 3 * sizeof(uint32_t), &HitAddr);
    11291132                        else
    11301133                            rc = VERR_DBGF_MEM_NOT_FOUND;
Note: See TracChangeset for help on using the changeset viewer.

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