Skip to content

Symbol Server Proxy

If the symstore proxy is enabled, Symbolicator also acts as a symbol proxy. This means that all configured sources are probed for symbol queries below the /proxy prefix. The path following this prefix needs to be a valid SSQP query.

Example:

$ curl -IL http://localhost:3021/proxy/wkernel32.pdb/ff9f9f7841db88f0cdeda9e1e9bff3b51/wkernel32.pdb
HTTP/1.1 200 OK
content-length: 846848
content-type: application/octet-stream
date: Fri, 19 Apr 2019 22:47:54 GMT

The layout of a configured source can limit what kind of queries to it will succeed. For example, SSQP supports querying for a PE file with timestamp and file size, but the "unified" source layout requires executables to be sorted by their debug IDs. This means that such a query will not find the file on a "unified" source. For best results, use the "symstore" layout for sources that you plan to proxy via Symbolicator.

When fetching ELF or MachO symbols the filename can be largely omitted (non extension can be substituted with an underscore) when a configured backend uses the "native" directory format. In simple terms this means that /symbols/_/elf-buildid-180a373d6afbabf0eb1f09be1bc45bd796a71085/_ is a valid query for an ELF executable and /symbols/_.debug/elf-buildid-sym-180a373d6afbabf0eb1f09be1bc45bd796a71085/_.debug is a valid query for an ELF debug symbol.