VirtualBox

忽略:
時間撮記:
2013-5-14 下午06:22:53 (12 年 以前)
作者:
vboxsync
訊息:

More debugging fixes.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Runtime/common/ldr/ldrPE.cpp

    r46048 r46078  
    942942    SegInfo.fProt       = RTMEM_PROT_READ;
    943943    SegInfo.Alignment   = 1;
    944     SegInfo.LinkAddress = 0;
    945     SegInfo.RVA         = SegInfo.LinkAddress;
     944    SegInfo.LinkAddress = pModPe->uImageBase;
     945    SegInfo.RVA         = 0;
    946946    SegInfo.offFile     = 0;
    947947    SegInfo.cb          = pModPe->cbHeaders;
     
    981981        else
    982982        {
    983             SegInfo.LinkAddress = pSh->VirtualAddress;
    984             SegInfo.RVA         = SegInfo.LinkAddress;
     983            SegInfo.LinkAddress = pSh->VirtualAddress + pModPe->uImageBase ;
     984            SegInfo.RVA         = pSh->VirtualAddress;
    985985            SegInfo.cbMapped    = RT_ALIGN(SegInfo.cb, SegInfo.Alignment);
    986986            if (i + 1 < pModPe->cSections && !(pSh[1].Characteristics & IMAGE_SCN_TYPE_NOLOAD))
     
    10121012    PRTLDRMODPE pModPe = (PRTLDRMODPE)pMod;
    10131013
    1014     /* Note! LinkAddress == RVA */
     1014    LinkAddress -= pModPe->uImageBase;
    10151015
    10161016    /* Special header segment. */
     
    10511051    PRTLDRMODPE pModPe = (PRTLDRMODPE)pMod;
    10521052
     1053    LinkAddress -= pModPe->uImageBase;
    10531054    if (LinkAddress > pModPe->cbImage)
    10541055        return VERR_LDR_INVALID_LINK_ADDRESS;
    10551056    *pRva = LinkAddress;
     1057
    10561058    return VINF_SUCCESS;
    10571059}
     
    10821084                                                uint32_t *piSeg, PRTLDRADDR poffSeg)
    10831085{
    1084     int rc = rtldrPE_LinkAddressToSegOffset(pMod, Rva, piSeg, poffSeg);
     1086    PRTLDRMODPE pModPe = (PRTLDRMODPE)pMod;
     1087    int rc = rtldrPE_LinkAddressToSegOffset(pMod, Rva + pModPe->uImageBase, piSeg, poffSeg);
    10851088    if (RT_FAILURE(rc))
    10861089        rc = VERR_LDR_INVALID_RVA;
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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