name keywords etiquetas etiqueta ejemplos body cscope

cscope - keywords - meta tags generator



¿Cómo puedo mostrar todos los nombres de funciones de la base de datos cscope? (1)

Estoy tratando de encontrar una manera de volcar TODO el nombre de las funciones y su ruta desde la base de datos cscope . ¿Hay alguna forma de hacerlo desde cscope CLI?

Nota: el código fuente de cscope está disponible para descargar .


Intenta lo siguiente:

cscope -R -L -2 ".*" | awk -F '' '' ''{print $2 "#" $1}'' | sort | uniq

  1. El comando cscope -R -L -2 ".*" las funciones a las que llama cualquier función (consulte la explicación de las opciones a continuación). Para cada referencia encontrada, cscope genera una línea que consta del nombre del archivo, el nombre de la función, el número de la línea y el texto de la línea, separados por espacios.
  2. Use awk para extraer el nombre de la función $2 y el nombre del archivo $1 separados por # . Cambie $2 , $1 y el separador # si necesita otros campos de salida o separador.
  3. Ordenar la salida con la sort .
  4. Consigue artículos únicos con uniq .

Opciones de cscope (consulte http://cscope.sourceforge.net/cscope_man_page.html ):

  • -R Recurse subdirectorios para archivos fuente.

  • -L Realice una búsqueda única con salida orientada a líneas cuando se usa con la opción de patrón numérico.

  • -2 ".*" Vaya al campo de entrada num (aquí el campo 2 basado en 0) y encuentre el patrón (aquí .* Para todos). Puedes ver los campos de entrada en el modo de pantalla de cscope. Esto puede variar dependiendo de la versión que esté utilizando. Los campos para la versión 15.8a bajo debian son:

    • 0: Encuentra este símbolo C:
    • 1: Encuentra esta definición global:
    • 2: encontrar funciones llamadas por esta función:
    • 3: Buscar funciones llamando a esta función:
    • 4: Encuentra esta cadena de texto:
    • 5: Cambiar esta cadena de texto:
    • 6: Encuentra este patrón egrep:
    • 7: Encuentra este archivo:
    • 8: Buscar archivos # incluyendo este archivo: