es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es posible ingresar a la macro expandida al depurar un proyecto Rust usando CLion?

En el IDE Rust CLion, ahora, al depurar paso a paso, si el código es una pieza de macro, CLion no se expandirá e ingresará a la macro. El cursor de depuración apuntará al código y saltará en la macro repetidamente. Por lo tanto, los usuarios no pueden conocer el código de ejecución auténtico. El comando “cargo expand” es como una herramienta estática, pero no se puede integrar en la depuración.

¿Es posible ingresar a la macro expandida cuando se utiliza la depuración de CLion en un proyecto de Rust?

¿Podemos hacer que el proceso de depuración sea similar a recorrer línea por línea en la macro expandida de manera satisfactoria?

Actualización 1: CLion expandirá automáticamente la macro. ¿El archivo expandido se guarda en caché para compilarlo? Si un binario es depurable, debe tener información de símbolos. ¿Es posible que cuando se realiza la depuración paso a paso, herramientas como CLion, gdb o lldb puedan señalar la línea de depuración actual en el archivo expandido o el archivo de código fuente sin formato (opción elegida por el usuario) al encontrar un indicio del símbolo?

Actualización 2: A veces, mi programa se bloquea. A partir de la traza de la pila, obtengo un archivo llamado ‘/sfwerasdf2323r.rs’. Lo abrí en el editor y creo que es un archivo autoexpandido por CLion. Intenté “abrir en” desde el menú contextual del archivo para buscarlo en el “Explorador de archivos” (o “Finder”), pero CLion muestra: “abrir en -> en ninguna parte”. ¿Este archivo es una caché en la memoria? ¿No está en una carpeta /tmp?

Esto me hace creer que es posible depurar en el archivo expandido. Quizás CLion necesite realizar un formato adicional del archivo autoexpandido.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, actualmente no es posible ingresar al Macro expandido al depurar un proyecto Rust en CLion. El cursor de depuración continuará saltando en el Macro repetidamente, lo que dificulta conocer el código de ejecución auténtico.

    Si bien cargo expand se puede utilizar como una herramienta estática para expandir Macros, no se puede integrar en la depuración.

    Sin embargo, CLion automáticamente expande Macros en el editor al depurar y el archivo expandido se guarda en caché para compilar. Si un binario es depurable, debe tener información de símbolos. Al hacer una depuración paso a paso, herramientas como CLion, gdb o lldb pueden señalar la línea de depuración actual en el archivo expandido o en el archivo de código fuente original (opción elegida por el usuario) mediante la búsqueda del símbolo.

    A veces, cuando un programa encuentra un panic, CLion muestra un archivo autoexpandido en el stacktrace. Este archivo puede ser una caché en la memoria y no estar ubicado en una carpeta /tmp.

    Si bien puede ser posible depurar en el archivo expandido, CLion puede necesitar realizar un formato adicional para facilitar la comprensión y navegación para los usuarios.

Comments are closed.