static bool PdbMatches(string pdb, Guid guid, int age) { Guid fileGuid; int fileAge; PdbReader.GetPdbProperties(pdb, out fileGuid, out fileAge); return(guid == fileGuid && age == fileAge); }
/// <summary> /// Validates whether a pdb on disk matches the given Guid/revision. /// </summary> /// <param name="pdbName"></param> /// <param name="guid"></param> /// <param name="age"></param> /// <returns></returns> protected virtual bool ValidatePdb(string pdbName, Guid guid, int age) { try { PdbReader.GetPdbProperties(pdbName, out Guid fileGuid, out int fileAge); return(guid == fileGuid && age == fileAge); } catch (IOException) { return(false); } }
public void PdbGuidAgeTest() { PdbReader.GetPdbProperties(TestTargets.NestedException.Pdb, out Guid pdbSignature, out int pdbAge); // Ensure we get the same answer a different way. using (PdbReader pdbReader = new PdbReader(TestTargets.NestedException.Pdb)) { Assert.AreEqual(pdbAge, pdbReader.Age); Assert.AreEqual(pdbSignature, pdbReader.Signature); } // Ensure the PEFile has the same signature/age. using (PEFile peFile = new PEFile(TestTargets.NestedException.Executable)) { Assert.AreEqual(peFile.PdbInfo.Guid, pdbSignature); Assert.AreEqual(peFile.PdbInfo.Revision, pdbAge); } }
public void PdbGuidAgeTest() { PdbReader.GetPdbProperties(TestTargets.NestedException.Pdb, out Guid pdbSignature, out int pdbAge); // Ensure we get the same answer a different way. using (PdbReader pdbReader = new PdbReader(TestTargets.NestedException.Pdb)) { Assert.Equal(pdbAge, pdbReader.Age); Assert.Equal(pdbSignature, pdbReader.Signature); } // Ensure the PEFile has the same signature/age. using (Stream stream = File.OpenRead(TestTargets.NestedException.Executable)) { PEImage peimage = new PEImage(stream); Assert.True(peimage.IsValid); Assert.Equal(peimage.DefaultPdb.Guid, pdbSignature); Assert.Equal(peimage.DefaultPdb.Revision, pdbAge); } }
private static bool PdbMatches(string pdb, Guid guid, int age) { PdbReader.GetPdbProperties(pdb, out Guid fileGuid, out int fileAge); return(guid == fileGuid); }