

resym هي أداة تتيح للتصفح واستخراج أنواع ملفات PDB.
انقر لتشغيل إصدار الويب؟
مستوحاة من pdbripper و pdbex.

إذا قمت بتثبيت Rust ، فيمكنك تثبيت Resym بسهولة مع cargo :
cargo install --git https://github.com/ergrelet/resym --tag v0.4.0
بعد ذلك ، يمكنك استدعاء resym و resymc من أي مكان ، من خلال سطر الأوامر.
ضع في اعتبارك أنك بحاجة إلى تثبيت التبعيات المطلوبة ل resym لتشغيلها بشكل صحيح. تحقق من وثائق المستخدم لمزيد من التفاصيل.
إذا كنت ترغب في استخدام إصدار واجهة المستخدم الرسومية ، فما عليك سوى تشغيل resym القابل للتنفيذ.
يتوفر إصدار CLI (المسماة resymc ) أيضًا:
resymc 0.4.0
resymc is a utility that allows browsing and extracting types from PDB files.
USAGE:
resymc.exe <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
diff Compute diff for a type between two given PDB files
diff-module Compute diff for a module between two given PDB files
dump Dump type from a given PDB file
dump-all Dump all types from a given PDB file
dump-module Dump module from a given PDB file
help Prints this message or the help of the given subcommand(s)
list List types from a given PDB file
list-modules List modules from a given PDB file
على Ubuntu ، قد تحتاج إلى تثبيت: libxcb-shape0-dev ، libxcb-xfixes0-dev و libglib2.0-dev .
git clone https://github.com/ergrelet/resym.git && cd resym
cargo build --release
./target/release/resym
قد تكافح إصدار واجهة المستخدم الرسومية لعرض مخرجات ضخمة (> 20 ميغابايت). سيساعد تعطيل تسليط الضوء على بناء الجملة (و/أو إعادة بناء التبعية تمامًا) ، ولكن بشكل عام ، يكون إصدار CLI أكثر ملاءمة عند إلقاء أنواع مع قدر كبير من التبعيات.
لا يتم إعادة بناء مساحات أسماء C ++ في الوقت الحالي ، مما يعني أن الإخراج المعاد بناؤه لأنواع C ++ لا يمكن تجميعه بالضرورة.
لا يمكن لإصدار الويب التعامل مع ملفات PDB أكبر من ~ 2.1 غيغابايت بسبب كيفية الوصول إلى الملفات والقيود 32 بت من أهداف wasm32 . قد يتغير هذا في المستقبل مع دعم wasm64 / memory64 .
غالبًا ما أحتاج إلى استخراج أنواع C ++ من ملفات 1 جيجابايت+ PDB بشكل مريح ، بطريقة تفاعلية ، لكنني لم أتمكن من العثور على أداة تضع جميع الصناديق بالنسبة لي حتى الآن ، لذلك هذه اللقطة في صنع هذه الأداة.
لذلك إذا كنت في نفس القارب ، فقد تكون هذه الأداة مفيدة لك.