Skip to content

Commit a217006

Browse files
committed
add static filter rule to reduce the number of symbols
1 parent 025a16b commit a217006

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

EatPdb/Program.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,20 @@ private static void Main(string[] args) => Parser.Default.ParseArguments<Options
3737

3838
private static uint GetAlign(uint length, uint align = 512) => length % align == 0 ? length : (length / align + 1) * align;
3939

40+
private static bool FilterName(string name) {
41+
if (name.StartsWith("_"))
42+
return false;
43+
if (name.StartsWith("??_"))
44+
return false;
45+
if (name.StartsWith("??@"))
46+
return false;
47+
if (name.Contains("std@@Q"))
48+
return false;
49+
if (name.Contains("std@@U"))
50+
return false;
51+
return true;
52+
}
53+
4054
private static void RealMain(Options options) {
4155
try {
4256
if (options.PdbFile == null)
@@ -55,7 +69,7 @@ private static void RealMain(Options options) {
5569
var symdb = new SymbolDatabase();
5670

5771
// Collect all symbols
58-
foreach (var item in pdb.PublicSymbols.Where(item => item.IsCode))
72+
foreach (var item in pdb.PublicSymbols.Where(item => item.IsCode && FilterName(item.Name)))
5973
symdb.Add((uint) item.RelativeVirtualAddress, item.Name);
6074

6175
// Exclude imported symbols

0 commit comments

Comments
 (0)