El pdb contiene información que el depurador necesita para leer correctamente la pila. Sus trazados de pila contendrán números de línea y nombres de símbolos de los marcos de pila dentro de los módulos para los que tiene el pdb.
Voy a dar ejemplos de dos usos. El primero es la respuesta obvia. El segundo explica los pdb indexados por fuente.
primero ejemplo de uso ...
Dependiendo de convención de llamada, y que optimizaciones del compilador utilizado, puede que no sea posible que el depurador para desconectar manualmente la pila a través de un módulo para el que no tiene un AP. Esto puede suceder con ciertas bibliotecas de terceros e incluso algunas partes del sistema operativo.
Considere un escenario en el que encuentra una infracción de acceso dentro del sistema operativo de Windows. El seguimiento de la pila no se desenrolla en su propia aplicación porque ese componente del sistema operativo usa una convención de llamadas especial que confunde al depurador. Si configura la ruta de su símbolo para descargar los pdb del sistema operativo público, es muy probable que la traza de la pila se desenrolle en su aplicación. Eso le permite ver exactamente qué argumentos pasó su propio código en la llamada al sistema operativo. (Y ejemplo similar de AV en el interior de una biblioteca tercera parte o incluso dentro de su propio código)
segundo ejemplo de uso ...
APP de tener otra propiedad muy útil - que puede integrarse con algunos sistemas de control de origen usando una característica que Microsoft llama "indexación de fuente". Un pdb indexado en origen contiene comandos de control de origen que especifican cómo obtener del control de origen las versiones de archivo exactas que se usaron para compilar el componente. Los depuradores de Microsoft entienden cómo ejecutar los comandos para obtener automáticamente los archivos durante una sesión de depuración. Esta es una característica poderosa que evita que el generador de errores tenga que sincronizar manualmente un árbol fuente con la etiqueta correcta para una compilación determinada. Es especialmente útil para las sesiones remotas de depuración y para analizar los volcados de emergencia post-mortem.
La instalación de "herramientas de depuración para windows" (windbg) contiene un documento llamado srcsrv.doc que proporciona un ejemplo que demuestra cómo usar srctool.exe para determinar qué archivos de origen están indexados en un determinado pdb.
Para responder a su pregunta "¿cómo sé?", La función de "módulos" en el depurador puede indicar qué módulos tienen un pdb correspondiente. En windbg utiliza el comando "lml". En Visual Studio, seleccione módulos de algún lugar de los menús de depuración.(Lo siento, no tengo a mano una versión actual de visual studio)