示例#1
0
        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);
        }
示例#2
0
 /// <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);
     }
 }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
            }
        }
示例#5
0
        private static bool PdbMatches(string pdb, Guid guid, int age)
        {
            PdbReader.GetPdbProperties(pdb, out Guid fileGuid, out int fileAge);

            return(guid == fileGuid);
        }