sentry-cli can upload PDB files, as well as Windows executables and DLLs. PDBs
are the debug information container used by Microsoft for the Windows platform.
Note that at the moment Sentry will upload Native PDBs, but not .NET Portable
In addition to PDBs, always consider uploading the actual executables and
sentry-cli will determine during the upload process whether
those files contain useful debug information. This is especially important for
64-bit systems, where unwind information is not stored in the PDB.
upload-dif to upload PDBs and specify the
pe types. The
command will recursively scan the provided folders or ZIP archives. Depending on
whether the executables contain debug information usable by Sentry, they may be
selected for upload in addition to the PDBs. On 32-bit Intel platforms, expect
that executables are omitted. On 64-bit Intel and other architectures, they are
$ sentry-cli upload-dif -t pdb -t pe . > Found 2 debug information files > Prepared debug information files for upload > Uploaded 2 missing debug information files > File processing complete: OK 3003763b-afcb-4a97-aae3-28de8f188d7c-1 (crash.exe; x86_64 executable) OK 3003763b-afcb-4a97-aae3-28de8f188d7c-1 (crash.pdb; x86_64 debug companion)
There are a few options you can supply for the upload process:
Do not scan for stack unwinding information. Specify this flag for builds with disabled FPO, or when stack walking occurs on the device. This usually excludes executables and libraries for 64-bit builds.
Do not scan for debug information. This will usually exclude PDBs. They might still be uploaded, if they contain stack unwinding information, usually for 32-bit builds.
By default, the
sentry-cliwill open and search ZIP archives for files. Use this switch to disable if your search paths contain large ZIP archives without debug information files to speed up the search.
This parameter prevents Sentry from triggering reprocessing right away. It can be useful under rare circumstances where you want to upload files in multiple batches, and you want to ensure that Sentry does not start reprocessing before some optional dSYMs are uploaded. Note though, that someone can still in the meantime trigger reprocessing from the UI.