Ejemplo n.º 1
0
        private unsafe ModuleData ToModuleData(byte[] moduleInfoBuffer, ModuleVersionInfo versionInfo, DEBUG_MODULE_PARAMETERS moduleParams)
        {
            fixed(byte *buf = moduleInfoBuffer)
            {
                IMAGEHLP_MODULEW64 mi = Marshal.PtrToStructure <IMAGEHLP_MODULEW64>(new IntPtr(buf));

                return(new ModuleData(mi.ModuleName, mi.ImageName, mi.LoadedImageName, mi.LoadedPdbName, mi.BaseOfImage, mi.ImageSize,
                                      moduleParams.TimeDateStamp, moduleParams.Checksum, mi.NumSyms, (uint)mi.SymType, mi.PdbSig70, mi.PdbAge, mi.PdbUnmatched, mi.LineNumbers, mi.GlobalSymbols,
                                      mi.TypeInfo, mi.SourceIndexed, mi.Publics, mi.MachineType, versionInfo));
            }
        }
Ejemplo n.º 2
0
 public ModuleData(string moduleName, string imageName, string loadedImageName, string loadedPdbName, ulong baseOfImage, uint imageSize, uint timeDateStamp, uint checkSum, uint numSyms, uint symType, Guid pdbSig70, uint pdbAge, bool pdbUnmatched, bool lineNumbers, bool globalSymbols, bool typeInfo, bool sourceIndexed, bool publics, uint machineType, ModuleVersionInfo versionInfo)
 {
     ModuleName      = moduleName;
     ImageName       = imageName;
     LoadedImageName = loadedImageName;
     LoadedPdbName   = loadedPdbName;
     BaseOfImage     = baseOfImage;
     ImageSize       = imageSize;
     TimeDateStamp   = timeDateStamp;
     CheckSum        = checkSum;
     NumSyms         = numSyms;
     SymType         = (SymType)symType;
     PdbSig70        = pdbSig70;
     PdbAge          = pdbAge;
     PdbUnmatched    = pdbUnmatched;
     LineNumbers     = lineNumbers;
     GlobalSymbols   = globalSymbols;
     TypeInfo        = typeInfo;
     SourceIndexed   = sourceIndexed;
     Publics         = publics;
     MachineType     = (ImageFileMachineType)machineType;
     FileVersion     = versionInfo.FileVersion;
     ProductVersion  = versionInfo.ProductVersion;
     ProductName     = versionInfo.ProductName;
     Comments        = versionInfo.Comments;
     Description     = versionInfo.Description;
     Company         = versionInfo.Company;
 }