Una selección de utilidades para un programador en Linux

Creo que cada programador tiene un conjunto de utilidades, trucos y conocimientos favoritos. Incluso usa algunos en su trabajo. Lo más probable es que difieran entre los diferentes programadores. Entonces es hora de compartir. Hoy hablaré sobre mi selección de lo que probablemente no se conoce tan ampliamente como se merece. Se tratará principalmente de la plataforma GNU / Linux.


PMD y CPD


Primero, una pequeña plataforma cruzada. Existe tal utilidad: PMD , probablemente bien conocida por los programadores de Java. Este es un analizador estático que admite varios (no muchos) lenguajes, lo cual no es sorprendente: escribir reglas de análisis significativas no es una tarea simple. Pero esta utilidad también tiene una segunda parte: el detector de copiar y pegar (CPD). Su trabajo requiere significativamente menos "comprensión" del texto fuente, por lo que es lógico que procese significativamente más idiomas.


Por lo tanto, existe la opinión de que un proyecto de código abierto es cuando necesitas escribir código no solo para trabajar, sino también para evitar que otros programadores se rían. En el caso de proyectos grandes, este es probablemente el caso, pero copiar y pegar no es tan notable. Para los mantenedores, por desgracia, también. Y luego, un día, después de recibir de los desarrolladores de un programa un comentario que decía "Si aquí y aquí estas tres líneas se ponen en un método auxiliar, probablemente también en los otros veinte lugares", decidí evaluar el alcance de lo que estaba sucediendo. Por un lado, repetir un patrón de tres líneas puede parecer valiente. Por otro lado, claramente tiene algún sentido, y será más fácil para los contribuyentes recién llegados si el significado se refleja claramente en el nombre del método.


Texto oculto
discutir el código de alguien en el trabajo:
xxx: Así que te imaginas, él tiene un fragmento de código de 15 líneas allí repetido 37 veces. Si lo pones en una función, ¡puedes guardar medio centenar de líneas!
yyy: es un estribillo

bash.im


Sin pensarlo dos veces, lancé CPD en este proyecto C ++, esperando ver una lista de repetición de este patrón de tres líneas. Simplemente no lo encontré (no superó el umbral predeterminado para la cantidad de tokens por repetición), pero vi muchos casos como repetir un método idéntico de 50 líneas en dos descendientes diferentes de la misma clase.


Es poco probable que el desarrollador principal copie conscientemente una pieza de este tipo; aparentemente, sucedió algo más: alguien una vez agregó este método en una de las clases, y en la otra solicitud de extracción después de mucho tiempo alguien, sin pensarlo dos veces, lo copió. Es lógico que este código no sea peor que el que ya está en el repositorio (ja, ja), por lo que fue aceptado.


Mozilla rr


¿Alguna vez has experimentado eso, mientras depuras un programa, reproduces un error durante mucho tiempo, y luego un movimiento incorrecto - Pasar en lugar de Pasar en - y eso es todo, pichalka, reproducir todo durante otros diez minutos!


Con el marco de grabación y reproducción de Mozilla, todo es algo diferente: "ejecutar pruebas en el desayuno, depurar cuando regrese" ellos dijeron . Esta herramienta no intenta registrar los cambios de estado después de cada instrucción (dicen que gdb tiene este modo ...), sino que simula la ejecución de un programa ... usando el programa en sí. La lógica es esta: en general, la ejecución del proceso está completamente determinada, con la excepción de ciertas "perturbaciones":


  • el kernel puede producir diferentes datos en respuesta a la misma llamada al sistema; simplemente escriba todas las respuestas (necesita conocer cada llamada del sistema "en persona" con todas las estructuras utilizadas)
  • la instrucción RDTSC siempre genera algo nuevo; afortunadamente, puede hacerse privilegiada y establecer valores manualmente para cada trampa
  • En otra computadora, CPUID también dará algo más: en procesadores nuevos también se puede hacer privilegiado
  • multiproceso y multiprocesamiento, y aquí es necesario discutir con más detalle
  • tal vez olvidé algo más, pero la conclusión es que la lista es bastante finita

Por lo que entiendo, funciona de alguna manera así: todos los hilos del árbol de procesos completo que se está escribiendo están agrupados en un solo hilo, lo que reduce la "descripción de subprocesos múltiples" al número de instrucciones entre cambios de contexto. Una desventaja se deduce de esto. Una vez que la FSF maldijo por el monopolio de la "arquitectura Wintel", y así: rr se ejecutará solo en "Lintel", es decir, solo en Linux y solo en procesadores Intel nuevos (Nehalem y superiores), que tienen contadores de rendimiento bastante estables. Hubo intentos de lanzamiento en Ryzen, algo incluso fue posible, pero hay fallas. A expensas de otros núcleos del sistema operativo, no lo sé.


Con rr, primero ejecuta el programa normalmente, hace clic en los botones / ingresa comandos, todo esto con el frenado aproximadamente una vez y media, o incluso menos. Y luego escribe rr replay , y el programa comienza a ejecutarse "en realidad virtual", en el que todo sucede exactamente igual que al grabar. Naturalmente, no verá ventanas y todo eso, stdout y stderr se guardan, y gracias por eso. En su lugar, verá gdb (dicen que los depuradores gráficos como QtCreator y CLion también son compatibles, pero aún no lo he probado). Pero si accidentalmente ingresó n ( next ), y luego se dio cuenta de que no tenía que hacer esto, puede decir rn ( reverse-next ) o poner un punto de interrupción y decir rc ( reverse-continue ). Por lo que yo entiendo, los comandos reverse están presentes de forma nativa en gdb, solo por razones obvias es raro qué backend puede soportar esto.


Una elegancia especial, en mi opinión, es buscar la causa del mal funcionamiento de esta manera: aquí presionó c , y el programa se detuvo en la afirmación. Después de estudiar el estado de las variables con print se dio cuenta de qué variable tiene un valor incorrecto. ¿Pero quién la expuso? Simplemente diga watch -l <> (siempre estropeando la sintaxis, espero que no esta vez) , establezca el punto de interrupción del hardware para escribir en la memoria, y luego diga rc ( reverse-continue ) - jabón, lavado, repita ... Solo no olvide eliminar los puntos de observación de hardware antiguos de la memoria, porque no hay tantos.


Pero, ¿puede ser lo mismo, pero con botones de nácar?


Primero, ¿qué sucede si desea depurar el sistema operativo en una máquina virtual? Yo no he encontrado esto todavía, pero, dicen, QEMU tiene gdbserver y en general. Y si quieres lo mismo que en rr, pero para QEMU? La documentación menciona el registro / reproducción incorporado :


Las funciones de grabación / reproducción se utilizan para la ejecución inversa y la reproducción determinista de la ejecución de qemu. La reproducción determinista se utiliza para registrar la ejecución volátil del sistema una vez y reproducirla varias veces por motivos de análisis, depuración, registro, etc. Esta implementación de reproducción determinista se puede utilizar para la depuración determinista e inversa del código de invitado a través de una interfaz remota gdb.

Por cierto, la primera versión de los parches fue desarrollada, según la misma página, por el Instituto de Programación de Sistemas de la Academia de Ciencias de Rusia.


Bueno, y si quieres depurar un proceso, ¿pero en Java? Hay un desbobinador HotSpot para GDB. En una solicitud similar, existe una página en la que se dice que está jugando expertamente en el espacio de direcciones JVM, proporcionando información para el comando bt . Descubrí esto por accidente, conectándome con el proceso JVM y solicitando seguimiento. Por desgracia, al preparar este artículo en Ubuntu 18.10, el desbobinador bloqueó constantemente gdb, pero la herramienta puede, cuando se repara, probablemente ayudar de alguna manera en el modo rr .


Ve un ojo, pero un diente está entumecido.


Una vez, al depurar, encontré un error No queda espacio en el dispositivo. Parecería algo común, mi lugar se está agotando constantemente debido a los artefactos de compilación. Pero había algo extraño: df -h mostraba varios gigabytes libres en cada partición y, por lo que sé, esto tiene en cuenta el espacio reservado para el usuario root. Un rápido google me llevó a un consejo para mirar la salida de df -i , y de hecho, no había inodos libres en la sección correcta, es decir, los archivos eran pequeños, pero había muchos .


Traza esto y aquello


Creo que mucha gente sabe acerca de strace , y si no, a menudo es una utilidad muy útil que muestra qué sistema llama un proceso o un árbol de procesos completo.


Ejemplo de salida
 $ strace ls / execve("/bin/ls", ["ls", "/"], 0x7ffd4301e518 /* 61 vars */) = 0 brk(NULL) = 0x55b660056000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=231893, ...}) = 0 mmap(NULL, 231893, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb941d0e000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20b\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=154832, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb941d0c000 mmap(NULL, 2259152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb941ae4000 mprotect(0x7fb941b09000, 2093056, PROT_NONE) = 0 mmap(0x7fb941d08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7fb941d08000 mmap(0x7fb941d0a000, 6352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb941d0a000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260A\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1996592, ...}) = 0 mmap(NULL, 2004992, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb9418fa000 mprotect(0x7fb94191c000, 1826816, PROT_NONE) = 0 mmap(0x7fb94191c000, 1511424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7fb94191c000 mmap(0x7fb941a8d000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x193000) = 0x7fb941a8d000 mmap(0x7fb941ada000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1df000) = 0x7fb941ada000 mmap(0x7fb941ae0000, 14336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb941ae0000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p!\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=468944, ...}) = 0 mmap(NULL, 471304, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb941886000 mmap(0x7fb941888000, 335872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fb941888000 mmap(0x7fb9418da000, 122880, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x54000) = 0x7fb9418da000 mmap(0x7fb9418f8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x71000) = 0x7fb9418f8000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\21\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=18656, ...}) = 0 mmap(NULL, 20752, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb941880000 mmap(0x7fb941881000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fb941881000 mmap(0x7fb941883000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fb941883000 mmap(0x7fb941884000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fb941884000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`l\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=149696, ...}) = 0 mmap(NULL, 132288, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb94185f000 mmap(0x7fb941865000, 61440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7fb941865000 mmap(0x7fb941874000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7fb941874000 mmap(0x7fb94187a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7fb94187a000 mmap(0x7fb94187c000, 13504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb94187c000 close(3) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb94185d000 arch_prctl(ARCH_SET_FS, 0x7fb94185e380) = 0 mprotect(0x7fb941ada000, 16384, PROT_READ) = 0 mprotect(0x7fb94187a000, 4096, PROT_READ) = 0 mprotect(0x7fb941884000, 4096, PROT_READ) = 0 mprotect(0x7fb9418f8000, 4096, PROT_READ) = 0 mprotect(0x7fb941d08000, 4096, PROT_READ) = 0 mprotect(0x55b65ebdd000, 8192, PROT_READ) = 0 mprotect(0x7fb941d70000, 4096, PROT_READ) = 0 munmap(0x7fb941d0e000, 231893) = 0 set_tid_address(0x7fb94185e650) = 13162 set_robust_list(0x7fb94185e660, 24) = 0 rt_sigaction(SIGRTMIN, {sa_handler=0x7fb9418656c0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7fb941871dd0}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {sa_handler=0x7fb941865750, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7fb941871dd0}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 statfs("/sys/fs/selinux", 0x7fff2349efb0) = -1 ENOENT (No such file or directory) statfs("/selinux", 0x7fff2349efb0) = -1 ENOENT (No such file or directory) brk(NULL) = 0x55b660056000 brk(0x55b660077000) = 0x55b660077000 openat(AT_FDCWD, "/proc/filesystems", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 478 read(3, "", 1024) = 0 close(3) = 0 access("/etc/selinux/config", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=5703680, ...}) = 0 mmap(NULL, 5703680, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb9412ec000 close(3) = 0 ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TIOCGWINSZ, {ws_row=65, ws_col=271, ws_xpixel=0, ws_ypixel=0}) = 0 stat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 openat(AT_FDCWD, "/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 getdents64(3, /* 30 entries */, 32768) = 808 getdents64(3, /* 0 entries */, 32768) = 0 close(3) = 0 fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0 write(1, "bin boot cdrom dev etc home"..., 192bin boot cdrom dev etc home initrd.img initrd.img.old lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin snap srv sys tmp usr var vmlinuz vmlinuz.old ) = 192 close(1) = 0 close(2) = 0 exit_group(0) = ? +++ exited with 0 +++ 

Como puede ver, incluso decodifica datos de entrada y salida (en general, esto es configurable).


Probablemente menos personas conozcan ltrace , una herramienta similar para analizar llamadas entre objetos dinámicos (programas y bibliotecas). Por desgracia, parece que el desarrollo de ltrace abandonado, lo que parecería extraño, dado que la herramienta es útil y, en general, debería ser administrada por el mismo equipo de desarrollo que cortó el cargador de libc . En tales casos, es costumbre decir "No creerás ..." :) Resulta que las últimas versiones de glibc tienen la herramienta sotruss . Sin embargo, tiene menos configurabilidad, pero es relevante en glibc . Hay una mosca en la pomada: ni ltrace ni sotruss decodifican los parámetros de la llamada, lo cual no es sorprendente: no hay una lista exhaustiva de las llamadas que deben decodificar, aquí necesitamos metainformación de terceros. Tal vez pueda estar encerrado de alguna manera, pero, francamente, realmente no tuve que usar el rastreo de la biblioteca. Sin embargo, creo que es útil saber acerca de tales herramientas.


sotruss ls /
 $ sotruss ls / ls -> libc.so.6 :*strrchr(0x7ffcd884a236, 0x2f, 0x7ffcd8847f00) ls -> libc.so.6 :*setlocale(0x6, 0x5642e3e888ca, 0x14) ls -> libc.so.6 :*bindtextdomain(0x5642e3e889fb, 0x5642e3e88a15, 0x0) ls -> libc.so.6 :*textdomain(0x5642e3e889fb, 0x0, 0x1) ls -> libc.so.6 :*__cxa_atexit(0x5642e3e7d640, 0x0, 0x5642e3e92008) ls -> libc.so.6 :*isatty(0x1, 0x1, 0x2) ls -> libc.so.6 :*getenv(0x5642e3e88a27, 0x3, 0x0) ls -> libc.so.6 :*getenv(0x5642e3e88a35, 0x3, 0x5642e3e88a27) ls -> libc.so.6 :*ioctl(0x1, 0x5413, 0x7ffcd8847db0) ls -> libc.so.6 :*getenv(0x5642e3e88a3d, 0x5413, 0x7ffcd8847db0) ls -> libc.so.6 :*getopt_long(0x2, 0x7ffcd8847ee8, 0x5642e3e8adc8) ls -> libc.so.6 :*getenv(0x5642e3e88ae5, 0x1, 0x7f4e75bc9000) ls -> libc.so.6 :*getenv(0x5642e3e88ae8, 0x5642e3e93328, 0x5642e3e93320) ls -> libc.so.6 :*getenv(0x5642e3e8b08c, 0x5642e3e93328, 0x5642e3e88ae8) ls -> libc.so.6 :*getenv(0x5642e3e8b096, 0x5642e3e93328, 0x5642e3e8b08c) ls -> libc.so.6 :*getenv(0x5642e3e88ae8, 0x5642e3e93328, 0x5642e3e8b096) ls -> libc.so.6 :*__errno_location(0x0, 0x5642e3e93328, 0x0) ls -> libc.so.6 :*memcpy(0x5642e534db30, 0x5642e3e93520, 0x38) ls -> libc.so.6 :*__errno_location(0x0, 0x5642e3e93520, 0x38) ls -> libc.so.6 :*memcpy(0x5642e534db70, 0x5642e3e93520, 0x38) ls -> libc.so.6 :*getenv(0x5642e3e88bbc, 0x0, 0x2) ls -> libc.so.6 :*__errno_location(0x7ffcd88479a6, 0x2, 0x7ffcd884a239) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd88479a6, 0x2, 0x7ffcd884a239) ls -> libc.so.6 :*strlen(0x7ffcd884a239, 0x5642e534db38, 0x2f) ls -> libc.so.6 :*__xstat(0x1, 0x7ffcd884a239, 0x5642e534dc58) ls -> libc.so.6 :*strlen(0x7ffcd884a239, 0x5642e534dc58, 0x1) ls -> libc.so.6 :*memcpy(0x5642e5352a70, 0x7ffcd884a239, 0x2) ls -> libc.so.6 :*_setjmp(0x5642e3e92300, 0x5642e5352aa0, 0x5642e534dd08) ls -> libc.so.6 :*strlen(0x5642e5352a70, 0x5642e5352ad0, 0x5642e5352ab0) ls -> libc.so.6 :*memcpy(0x5642e5352ae0, 0x5642e5352a70, 0x2) ls -> libselinux.so.1:*freecon(0x0, 0x0, 0x0) ls -> libc.so.6 :*__errno_location(0x5642e5352ae0, 0x0, 0x1) ls -> libc.so.6 :*opendir(0x5642e5352ae0, 0x0, 0x1) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x5642e535ab30, 0x5642e5352b00) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352b43) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352b43) ls -> libc.so.6 :*strlen(0x5642e5352b43, 0x5642e534db38, 0x6c) ls -> libc.so.6 :*strlen(0x5642e5352b43, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e5352a70, 0x5642e5352b43, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x9e8c788d5275094, 0x5642e5352b48) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352b73) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352b73) ls -> libc.so.6 :*strlen(0x5642e5352b73, 0x5642e534db38, 0x76) ls -> libc.so.6 :*strlen(0x5642e5352b73, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ab40, 0x5642e5352b73, 0xc) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0xc) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352b93) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352b93) ls -> libc.so.6 :*strlen(0x5642e5352b93, 0x5642e534db38, 0x65) ls -> libc.so.6 :*strlen(0x5642e5352b93, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ab60, 0x5642e5352b93, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352bab) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352bab) ls -> libc.so.6 :*strlen(0x5642e5352bab, 0x5642e534db38, 0x62) ls -> libc.so.6 :*strlen(0x5642e5352bab, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ab80, 0x5642e5352bab, 0x5) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352bc3) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352bc3) ls -> libc.so.6 :*strlen(0x5642e5352bc3, 0x5642e534db38, 0x63) ls -> libc.so.6 :*strlen(0x5642e5352bc3, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535aba0, 0x5642e5352bc3, 0x6) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x6) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352be3) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352be3) ls -> libc.so.6 :*strlen(0x5642e5352be3, 0x5642e534db38, 0x72) ls -> libc.so.6 :*strlen(0x5642e5352be3, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535abc0, 0x5642e5352be3, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352bfb) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352bfb) ls -> libc.so.6 :*strlen(0x5642e5352bfb, 0x5642e534db38, 0x73) ls -> libc.so.6 :*strlen(0x5642e5352bfb, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535abe0, 0x5642e5352bfb, 0x5) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c13) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c13) ls -> libc.so.6 :*strlen(0x5642e5352c13, 0x5642e534db38, 0x74) ls -> libc.so.6 :*strlen(0x5642e5352c13, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ac00, 0x5642e5352c13, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c2b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c2b) ls -> libc.so.6 :*strlen(0x5642e5352c2b, 0x5642e534db38, 0x73) ls -> libc.so.6 :*strlen(0x5642e5352c2b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ac20, 0x5642e5352c2b, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c43) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c43) ls -> libc.so.6 :*strlen(0x5642e5352c43, 0x5642e534db38, 0x75) ls -> libc.so.6 :*strlen(0x5642e5352c43, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ac40, 0x5642e5352c43, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c5b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c5b) ls -> libc.so.6 :*strlen(0x5642e5352c5b, 0x5642e534db38, 0x6f) ls -> libc.so.6 :*strlen(0x5642e5352c5b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ac60, 0x5642e5352c5b, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c73) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c73) ls -> libc.so.6 :*strlen(0x5642e5352c73, 0x5642e534db38, 0x72) ls -> libc.so.6 :*strlen(0x5642e5352c73, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ac80, 0x5642e5352c73, 0x5) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c8b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c8b) ls -> libc.so.6 :*strlen(0x5642e5352c8b, 0x5642e534db38, 0x6d) ls -> libc.so.6 :*strlen(0x5642e5352c8b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535aca0, 0x5642e5352c8b, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352ca3) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352ca3) ls -> libc.so.6 :*strlen(0x5642e5352ca3, 0x5642e534db38, 0x62) ls -> libc.so.6 :*strlen(0x5642e5352ca3, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535acc0, 0x5642e5352ca3, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x4718f72f38efb8b7, 0x5642e5352ca8) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352cd3) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352cd3) ls -> libc.so.6 :*strlen(0x5642e5352cd3, 0x5642e534db38, 0x6d) ls -> libc.so.6 :*strlen(0x5642e5352cd3, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ace0, 0x5642e5352cd3, 0x6) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x6) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352cf3) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352cf3) ls -> libc.so.6 :*strlen(0x5642e5352cf3, 0x5642e534db38, 0x76) ls -> libc.so.6 :*strlen(0x5642e5352cf3, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ad00, 0x5642e5352cf3, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d0b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d0b) ls -> libc.so.6 :*strlen(0x5642e5352d0b, 0x5642e534db38, 0x69) ls -> libc.so.6 :*strlen(0x5642e5352d0b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ad20, 0x5642e5352d0b, 0xf) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0xf) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d33) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d33) ls -> libc.so.6 :*strlen(0x5642e5352d33, 0x5642e534db38, 0x70) ls -> libc.so.6 :*strlen(0x5642e5352d33, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ad40, 0x5642e5352d33, 0x5) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d4b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d4b) ls -> libc.so.6 :*strlen(0x5642e5352d4b, 0x5642e534db38, 0x73) ls -> libc.so.6 :*strlen(0x5642e5352d4b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ad60, 0x5642e5352d4b, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d63) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d63) ls -> libc.so.6 :*strlen(0x5642e5352d63, 0x5642e534db38, 0x64) ls -> libc.so.6 :*strlen(0x5642e5352d63, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ad80, 0x5642e5352d63, 0x4) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d7b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d7b) ls -> libc.so.6 :*strlen(0x5642e5352d7b, 0x5642e534db38, 0x69) ls -> libc.so.6 :*strlen(0x5642e5352d7b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ada0, 0x5642e5352d7b, 0xb) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0xb) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d9b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d9b) ls -> libc.so.6 :*strlen(0x5642e5352d9b, 0x5642e534db38, 0x73) ls -> libc.so.6 :*strlen(0x5642e5352d9b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535adc0, 0x5642e5352d9b, 0x5) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352db3) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352db3) ls -> libc.so.6 :*strlen(0x5642e5352db3, 0x5642e534db38, 0x6c) ls -> libc.so.6 :*strlen(0x5642e5352db3, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ade0, 0x5642e5352db3, 0x6) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x6) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352dd3) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352dd3) ls -> libc.so.6 :*strlen(0x5642e5352dd3, 0x5642e534db38, 0x68) ls -> libc.so.6 :*strlen(0x5642e5352dd3, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ae00, 0x5642e5352dd3, 0x5) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352deb) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352deb) ls -> libc.so.6 :*strlen(0x5642e5352deb, 0x5642e534db38, 0x6c) ls -> libc.so.6 :*strlen(0x5642e5352deb, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ae20, 0x5642e5352deb, 0x7) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x7) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352e0b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352e0b) ls -> libc.so.6 :*strlen(0x5642e5352e0b, 0x5642e534db38, 0x6c) ls -> libc.so.6 :*strlen(0x5642e5352e0b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ae40, 0x5642e5352e0b, 0xb) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0xb) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352e2b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352e2b) ls -> libc.so.6 :*strlen(0x5642e5352e2b, 0x5642e534db38, 0x6c) ls -> libc.so.6 :*strlen(0x5642e5352e2b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ae60, 0x5642e5352e2b, 0x6) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x6) ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352e4b) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352e4b) ls -> libc.so.6 :*strlen(0x5642e5352e4b, 0x5642e534db38, 0x76) ls -> libc.so.6 :*strlen(0x5642e5352e4b, 0x5642e534db38, 0x0) ls -> libc.so.6 :*memcpy(0x5642e535ae80, 0x5642e5352e4b, 0x8) ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x8) ls -> libc.so.6 :*closedir(0x5642e5352b00, 0x5642e5352b30, 0x0) ls -> libc.so.6 :*_setjmp(0x5642e3e92300, 0x5642e5352da0, 0x5642e534f220) ls -> libc.so.6 :*__errno_location(0x5642e535ae60, 0x5642e535ae80, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ae60, 0x5642e535ae80, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ae20, 0x5642e535ae40, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ae20, 0x5642e535ae40, 0x5642e5352be0) ls -> libc.so.6 :*memcpy(0x5642e5352be8, 0x5642e5352bc8, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ae20, 0x5642e535ae60, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535ae20, 0x5642e535ae60, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ae20, 0x5642e535ae80, 0xc6) ls -> libc.so.6 :*strcoll(0x5642e535ae20, 0x5642e535ae80, 0xc6) ls -> libc.so.6 :*__errno_location(0x5642e535ae40, 0x5642e535ae80, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ae40, 0x5642e535ae80, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ade0, 0x5642e535ae00, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ade0, 0x5642e535ae00, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae00, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae00, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ade0, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ade0, 0xc5) ls -> libc.so.6 :*memcpy(0x5642e5352bf0, 0x5642e5352ba8, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ae00, 0x5642e535ae60, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535ae00, 0x5642e535ae60, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ade0, 0x5642e535ae60, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ade0, 0x5642e535ae60, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae60, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae60, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae20, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae20, 0xc5) ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae40, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae40, 0xc5) ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae80, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae80, 0xc5) ls -> libc.so.6 :*__errno_location(0x5642e535ad80, 0x5642e535ada0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ad80, 0x5642e535ada0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ad40, 0x5642e535ad60, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ad40, 0x5642e535ad60, 0x5642e5352be0) ls -> libc.so.6 :*memcpy(0x5642e5352be8, 0x5642e5352b90, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ad40, 0x5642e535ad80, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535ad40, 0x5642e535ad80, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ad40, 0x5642e535ada0, 0xc4) ls -> libc.so.6 :*strcoll(0x5642e535ad40, 0x5642e535ada0, 0xc4) ls -> libc.so.6 :*memcpy(0x5642e5352b98, 0x5642e5352be0, 0x10) ls -> libc.so.6 :*__errno_location(0x5642e535ad00, 0x5642e535ad20, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ad00, 0x5642e535ad20, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ad20, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ad20, 0xc5) ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ad00, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ad00, 0xc3) ls -> libc.so.6 :*__errno_location(0x5642e535ad20, 0x5642e535ad80, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e535ad20, 0x5642e535ad80, 0xc3) ls -> libc.so.6 :*__errno_location(0x5642e535ad20, 0x5642e535ada0, 0xc2) ls -> libc.so.6 :*strcoll(0x5642e535ad20, 0x5642e535ada0, 0xc2) ls -> libc.so.6 :*__errno_location(0x5642e535ad20, 0x5642e535ad40, 0x9) ls -> libc.so.6 :*strcoll(0x5642e535ad20, 0x5642e535ad40, 0x9) ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ad40, 0xc2) ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ad40, 0xc2) ls -> libc.so.6 :*__errno_location(0x5642e535ad00, 0x5642e535ad40, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e535ad00, 0x5642e535ad40, 0xc3) ls -> libc.so.6 :*__errno_location(0x5642e535ad00, 0x5642e535ad60, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535ad00, 0x5642e535ad60, 0xc5) ls -> libc.so.6 :*memcpy(0x5642e5352c10, 0x5642e5352b80, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ad80, 0x5642e535ae00, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535ad80, 0x5642e535ae00, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ada0, 0x5642e535ae00, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ada0, 0x5642e535ae00, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ada0, 0x5642e535ade0, 0xb5) ls -> libc.so.6 :*strcoll(0x5642e535ada0, 0x5642e535ade0, 0xb5) ls -> libc.so.6 :*__errno_location(0x5642e535ad20, 0x5642e535ade0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ad20, 0x5642e535ade0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ade0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ade0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ae60, 0xa5) ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ae60, 0xa5) ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ae20, 0xa5) ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ae20, 0xa5) ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ae40, 0xa5) ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ae40, 0xa5) ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535adc0, 0xa5) ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535adc0, 0xa5) ls -> libc.so.6 :*__errno_location(0x5642e535ad40, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ad40, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ad60, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ad60, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ad60, 0x5642e535ae80, 0xc6) ls -> libc.so.6 :*strcoll(0x5642e535ad60, 0x5642e535ae80, 0xc6) ls -> libc.so.6 :*__errno_location(0x5642e535ad00, 0x5642e535ae80, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ad00, 0x5642e535ae80, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535acc0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535acc0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ac60, 0x5642e535ac80, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ac60, 0x5642e535ac80, 0x5642e5352be0) ls -> libc.so.6 :*memcpy(0x5642e5352be8, 0x5642e5352b58, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ac60, 0x5642e535acc0, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535ac60, 0x5642e535acc0, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ac60, 0x5642e535aca0, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e535ac60, 0x5642e535aca0, 0xc3) ls -> libc.so.6 :*memcpy(0x5642e5352b60, 0x5642e5352be0, 0x10) ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535ac40, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535ac40, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ac00, 0x5642e535ac20, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ac00, 0x5642e535ac20, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ac00, 0x5642e535ac40, 0x98) ls -> libc.so.6 :*strcoll(0x5642e535ac00, 0x5642e535ac40, 0x98) ls -> libc.so.6 :*memcpy(0x5642e5352bf0, 0x5642e5352b48, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535acc0, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535acc0, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535aca0, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535aca0, 0xc5) ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535ac60, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535ac60, 0xc5) ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535ac80, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535ac80, 0xc5) ls -> libc.so.6 :*memcpy(0x5642e5352b58, 0x5642e5352be0, 0x18) ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535abe0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535abe0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535aba0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535aba0, 0x5642e5352be0) ls -> libc.so.6 :*memcpy(0x5642e5352be8, 0x5642e5352b20, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535abc0, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535abc0, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535aba0, 0x5642e535abc0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535aba0, 0x5642e535abc0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ab60, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ab60, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ab60, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ab60, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ab40, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ab40, 0xc3) ls -> libc.so.6 :*memcpy(0x5642e5352bf0, 0x5642e5352b10, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535ab80, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535ab80, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535aba0, 0x7e) ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535aba0, 0x7e) ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535abc0, 0x7e) ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535abc0, 0x7e) ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535abc0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535abc0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535abc0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535abc0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535abe0, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535abe0, 0xc5) ls -> libc.so.6 :*memcpy(0x5642e5352b30, 0x5642e5352bf0, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535acc0, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535acc0, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535aca0, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535aca0, 0xc3) ls -> libc.so.6 :*__errno_location(0x5642e535aba0, 0x5642e535aca0, 0x5e) ls -> libc.so.6 :*strcoll(0x5642e535aba0, 0x5642e535aca0, 0x5e) ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535aca0, 0x69) ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535aca0, 0x69) ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535aca0, 0x7e) ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535aca0, 0x7e) ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535aca0, 0x90) ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535aca0, 0x90) ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535ac60, 0xc4) ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535ac60, 0xc4) ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535ac80, 0xc4) ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535ac80, 0xc4) ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535ac20, 0xc5) ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535ac20, 0xc5) ls -> libc.so.6 :*__errno_location(0x5642e535abe0, 0x5642e535ac20, 0xc4) ls -> libc.so.6 :*strcoll(0x5642e535abe0, 0x5642e535ac20, 0xc4) ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ac20, 0x5e) ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ac20, 0x5e) ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ac00, 0xb9) ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ac00, 0xb9) ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ac40, 0xb9) ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ac40, 0xb9) ls -> libc.so.6 :*memcpy(0x5642e5352c48, 0x5642e5352b30, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535acc0, 0x5642e535ad80, 0x8) ls -> libc.so.6 :*strcoll(0x5642e535acc0, 0x5642e535ad80, 0x8) ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535ad80, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535ad80, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535aba0, 0x5642e535ad80, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535aba0, 0x5642e535ad80, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535ad80, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535ad80, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535ae00, 0x7e) ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535ae00, 0x7e) ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ae00, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ae00, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ada0, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ada0, 0xc3) ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ad20, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ad20, 0xc3) ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ade0, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ade0, 0xc3) ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ade0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ade0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ae60, 0xa5) ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ae60, 0xa5) ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ae20, 0xa5) ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ae20, 0xa5) ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ae40, 0xa5) ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ae40, 0xa5) ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ace0, 0xa5) ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ace0, 0xa5) ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ad40, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ad40, 0xc3) ls -> libc.so.6 :*__errno_location(0x5642e535ac60, 0x5642e535ad40, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ac60, 0x5642e535ad40, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ac80, 0x5642e535ad40, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ac80, 0x5642e535ad40, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ac80, 0x5642e535adc0, 0xac) ls -> libc.so.6 :*strcoll(0x5642e535ac80, 0x5642e535adc0, 0xac) ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535abe0, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535abe0, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535adc0, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535ad60, 0xc4) ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535ad60, 0xc4) ls -> libc.so.6 :*__errno_location(0x5642e535ac00, 0x5642e535ad60, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ac00, 0x5642e535ad60, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ac00, 0x5642e535ad00, 0x98) ls -> libc.so.6 :*strcoll(0x5642e535ac00, 0x5642e535ad00, 0x98) ls -> libc.so.6 :*__errno_location(0x5642e535ac40, 0x5642e535ad00, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ac40, 0x5642e535ad00, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ad00, 0x5642e5352be0) ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ad00, 0x5642e5352be0) ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ae80, 0xc3) ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ae80, 0xc3) ls -> libc.so.6 :*memcpy(0x5642e5352bd8, 0x5642e5352c48, 0x8) ls -> libc.so.6 :*realloc(0x0, 0x540, 0x0) ls -> libc.so.6 :*strlen(0x5642e535acc0, 0x5642e535acc0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535acc0, 0x5642e535acc0, 0x5642e535acc0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535acc0, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ab80, 0x5642e535ab80, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab80, 0x5642e535ab80, 0x5642e535ab80) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab80, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535aba0, 0x5642e535aba0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aba0, 0x5642e535aba0, 0x5642e535aba0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aba0, 0x5, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad80, 0x5642e535ad80, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad80, 0x5642e535ad80, 0x5642e535ad80) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad80, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ab60, 0x5642e535ab60, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab60, 0x5642e535ab60, 0x5642e535ab60) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab60, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae00, 0x5642e535ae00, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae00, 0x5642e535ae00, 0x5642e535ae00) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae00, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ada0, 0x5642e535ada0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ada0, 0x5642e535ada0, 0x5642e535ada0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ada0, 0xa, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad20, 0x5642e535ad20, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad20, 0x5642e535ad20, 0x5642e535ad20) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad20, 0xe, 0x0) ls -> libc.so.6 :*strlen(0x5642e5352a70, 0x5642e5352a70, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e5352a60, 0x5642e5352a70, 0x5642e5352a70) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e5352a70, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ade0, 0x5642e535ade0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ade0, 0x5642e535ade0, 0x5642e535ade0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ade0, 0x5, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae60, 0x5642e535ae60, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae60, 0x5642e535ae60, 0x5642e535ae60) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae60, 0x5, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae20, 0x5642e535ae20, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae20, 0x5642e535ae20, 0x5642e535ae20) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae20, 0x6, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae40, 0x5642e535ae40, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae40, 0x5642e535ae40, 0x5642e535ae40) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae40, 0xa, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ace0, 0x5642e535ace0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ace0, 0x5642e535ace0, 0x5642e535ace0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ace0, 0x5, 0x0) ls -> libc.so.6 :*strlen(0x5642e535aca0, 0x5642e535aca0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aca0, 0x5642e535aca0, 0x5642e535aca0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aca0, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac60, 0x5642e535ac60, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac60, 0x5642e535ac60, 0x5642e535ac60) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac60, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad40, 0x5642e535ad40, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad40, 0x5642e535ad40, 0x5642e535ad40) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad40, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac80, 0x5642e535ac80, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac80, 0x5642e535ac80, 0x5642e535ac80) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac80, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535abc0, 0x5642e535abc0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abc0, 0x5642e535abc0, 0x5642e535abc0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abc0, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535abe0, 0x5642e535abe0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abe0, 0x5642e535abe0, 0x5642e535abe0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abe0, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535adc0, 0x5642e535adc0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535adc0, 0x5642e535adc0, 0x5642e535adc0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535adc0, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac20, 0x5642e535ac20, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac20, 0x5642e535ac20, 0x5642e535ac20) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac20, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad60, 0x5642e535ad60, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad60, 0x5642e535ad60, 0x5642e535ad60) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad60, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac00, 0x5642e535ac00, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac00, 0x5642e535ac00, 0x5642e535ac00) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac00, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac40, 0x5642e535ac40, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac40, 0x5642e535ac40, 0x5642e535ac40) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac40, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad00, 0x5642e535ad00, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad00, 0x5642e535ad00, 0x5642e535ad00) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad00, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae80, 0x5642e535ae80, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae80, 0x5642e535ae80, 0x5642e535ae80) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae80, 0x7, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ab40, 0x5642e535ab40, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab40, 0x5642e535ab40, 0x5642e535ab40) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab40, 0xb, 0x0) ls -> libc.so.6 :*strlen(0x5642e535acc0, 0x5642e535acc0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535acc0, 0x5642e535acc0, 0x5642e535acc0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535acc0, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535acc0, 0x5642e535acc0, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535acc0, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5) ls -> libc.so.6 :*strlen(0x5642e535ab80, 0x5642e535ab80, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab80, 0x5642e535ab80, 0x5642e535ab80) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab80, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ab80, 0x5642e535ab80, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ab80, 0x1, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3) ls -> libc.so.6 :*strlen(0x5642e535aba0, 0x5642e535aba0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aba0, 0x5642e535aba0, 0x5642e535aba0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aba0, 0x5, 0x0) ls -> libc.so.6 :*strlen(0x5642e535aba0, 0x5642e535aba0, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535aba0, 0x1, 0x5) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2) ls -> libc.so.6 :*strlen(0x5642e535ad80, 0x5642e535ad80, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad80, 0x5642e535ad80, 0x5642e535ad80) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad80, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad80, 0x5642e535ad80, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad80, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x7) ls -> libc.so.6 :*strlen(0x5642e535ab60, 0x5642e535ab60, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab60, 0x5642e535ab60, 0x5642e535ab60) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab60, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ab60, 0x5642e535ab60, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ab60, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4) ls -> libc.so.6 :*strlen(0x5642e535ae00, 0x5642e535ae00, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae00, 0x5642e535ae00, 0x5642e535ae00) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae00, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae00, 0x5642e535ae00, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae00, 0x1, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2) ls -> libc.so.6 :*strlen(0x5642e535ada0, 0x5642e535ada0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ada0, 0x5642e535ada0, 0x5642e535ada0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ada0, 0xa, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ada0, 0x5642e535ada0, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ada0, 0x1, 0xa) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6) ls -> libc.so.6 :*strlen(0x5642e535ad20, 0x5642e535ad20, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad20, 0x5642e535ad20, 0x5642e535ad20) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad20, 0xe, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad20, 0x5642e535ad20, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad20, 0x1, 0xe) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6) ls -> libc.so.6 :*strlen(0x5642e5352a70, 0x5642e5352a70, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e5352a60, 0x5642e5352a70, 0x5642e5352a70) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e5352a70, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e5352a70, 0x5642e5352a70, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e5352a70, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3) ls -> libc.so.6 :*strlen(0x5642e535ade0, 0x5642e535ade0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ade0, 0x5642e535ade0, 0x5642e535ade0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ade0, 0x5, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ade0, 0x5642e535ade0, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ade0, 0x1, 0x5) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2) ls -> libc.so.6 :*strlen(0x5642e535ae60, 0x5642e535ae60, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae60, 0x5642e535ae60, 0x5642e535ae60) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae60, 0x5, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae60, 0x5642e535ae60, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae60, 0x1, 0x5) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x0) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1) ls -> libc.so.6 :*strlen(0x5642e535ae20, 0x5642e535ae20, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae20, 0x5642e535ae20, 0x5642e535ae20) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae20, 0x6, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae20, 0x5642e535ae20, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae20, 0x1, 0x6) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x0) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1) ls -> libc.so.6 :*strlen(0x5642e535ae40, 0x5642e535ae40, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae40, 0x5642e535ae40, 0x5642e535ae40) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae40, 0xa, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae40, 0x5642e535ae40, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae40, 0x1, 0xa) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5) ls -> libc.so.6 :*strlen(0x5642e535ace0, 0x5642e535ace0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ace0, 0x5642e535ace0, 0x5642e535ace0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ace0, 0x5, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ace0, 0x5642e535ace0, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ace0, 0x1, 0x5) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4) ls -> libc.so.6 :*strlen(0x5642e535aca0, 0x5642e535aca0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aca0, 0x5642e535aca0, 0x5642e535aca0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aca0, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535aca0, 0x5642e535aca0, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535aca0, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x0) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1) ls -> libc.so.6 :*strlen(0x5642e535ac60, 0x5642e535ac60, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac60, 0x5642e535ac60, 0x5642e535ac60) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac60, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac60, 0x5642e535ac60, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac60, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6) ls -> libc.so.6 :*strlen(0x5642e535ad40, 0x5642e535ad40, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad40, 0x5642e535ad40, 0x5642e535ad40) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad40, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad40, 0x5642e535ad40, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad40, 0x1, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4) ls -> libc.so.6 :*strlen(0x5642e535ac80, 0x5642e535ac80, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac80, 0x5642e535ac80, 0x5642e535ac80) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac80, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac80, 0x5642e535ac80, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac80, 0x1, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2) ls -> libc.so.6 :*strlen(0x5642e535abc0, 0x5642e535abc0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abc0, 0x5642e535abc0, 0x5642e535abc0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abc0, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535abc0, 0x5642e535abc0, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535abc0, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x7) ls -> libc.so.6 :*strlen(0x5642e535abe0, 0x5642e535abe0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abe0, 0x5642e535abe0, 0x5642e535abe0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abe0, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535abe0, 0x5642e535abe0, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535abe0, 0x1, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5) ls -> libc.so.6 :*strlen(0x5642e535adc0, 0x5642e535adc0, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535adc0, 0x5642e535adc0, 0x5642e535adc0) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535adc0, 0x4, 0x0) ls -> libc.so.6 :*strlen(0x5642e535adc0, 0x5642e535adc0, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535adc0, 0x1, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3) ls -> libc.so.6 :*strlen(0x5642e535ac20, 0x5642e535ac20, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac20, 0x5642e535ac20, 0x5642e535ac20) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac20, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac20, 0x5642e535ac20, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac20, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x9, 0x7) ls -> libc.so.6 :*strlen(0x5642e535ad60, 0x5642e535ad60, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad60, 0x5642e535ad60, 0x5642e535ad60) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad60, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad60, 0x5642e535ad60, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad60, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5) ls -> libc.so.6 :*strlen(0x5642e535ac00, 0x5642e535ac00, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac00, 0x5642e535ac00, 0x5642e535ac00) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac00, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac00, 0x5642e535ac00, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac00, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2) ls -> libc.so.6 :*strlen(0x5642e535ac40, 0x5642e535ac40, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac40, 0x5642e535ac40, 0x5642e535ac40) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac40, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ac40, 0x5642e535ac40, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac40, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x7) ls -> libc.so.6 :*strlen(0x5642e535ad00, 0x5642e535ad00, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad00, 0x5642e535ad00, 0x5642e535ad00) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad00, 0x3, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ad00, 0x5642e535ad00, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad00, 0x1, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4) ls -> libc.so.6 :*strlen(0x5642e535ae80, 0x5642e535ae80, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae80, 0x5642e535ae80, 0x5642e535ae80) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae80, 0x7, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ae80, 0x5642e535ae80, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae80, 0x1, 0x7) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5) ls -> libc.so.6 :*strlen(0x5642e535ab40, 0x5642e535ab40, 0x5642e534db30) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab40, 0x5642e535ab40, 0x5642e535ab40) ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab40, 0xb, 0x0) ls -> libc.so.6 :*strlen(0x5642e535ab40, 0x5642e535ab40, 0x5642e534db30) ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ab40, 0x1, 0xb) ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0xa, 0x0) bin boot cdrom dev etc home initrd.img initrd.img.old lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin snap srv sys tmp usr var vmlinuz vmlinuz.old ls -> libc.so.6 :*__fpending(0x7f4e75bc7760, 0x0, 0x5642e3e7d640) ls -> libc.so.6 :*fileno(0x7f4e75bc7760, 0x0, 0x5642e3e7d640) ls -> libc.so.6 :*__freading(0x7f4e75bc7760, 0x0, 0x5642e3e7d640) ls -> libc.so.6 :*__freading(0x7f4e75bc7760, 0x0, 0x804) ls -> libc.so.6 :*fflush(0x7f4e75bc7760, 0x0, 0x804) ls -> libc.so.6 :*fclose(0x7f4e75bc7760, 0x7f4e75bc88c0, 0x0) ls -> libc.so.6 :*__fpending(0x7f4e75bc7680, 0x0, 0x7f4e75bc2760) ls -> libc.so.6 :*fileno(0x7f4e75bc7680, 0x0, 0x7f4e75bc2760) ls -> libc.so.6 :*__freading(0x7f4e75bc7680, 0x0, 0x7f4e75bc2760) ls -> libc.so.6 :*__freading(0x7f4e75bc7680, 0x0, 0x4) ls -> libc.so.6 :*fflush(0x7f4e75bc7680, 0x0, 0x4) ls -> libc.so.6 :*fclose(0x7f4e75bc7680, 0x7f4e75bc88b0, 0x0) 

strace ,


strace date
 $ strace date execve("/bin/date", ["date"], 0x7ffd24f0d7c0 /* 60 vars */) = 0 brk(NULL) = 0x5593e5b58000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=231893, ...}) = 0 mmap(NULL, 231893, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f043c2cd000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260A\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1996592, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f043c2cb000 mmap(NULL, 2004992, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f043c0e1000 mprotect(0x7f043c103000, 1826816, PROT_NONE) = 0 mmap(0x7f043c103000, 1511424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f043c103000 mmap(0x7f043c274000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x193000) = 0x7f043c274000 mmap(0x7f043c2c1000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1df000) = 0x7f043c2c1000 mmap(0x7f043c2c7000, 14336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f043c2c7000 close(3) = 0 arch_prctl(ARCH_SET_FS, 0x7f043c2cc580) = 0 mprotect(0x7f043c2c1000, 16384, PROT_READ) = 0 mprotect(0x5593e5431000, 8192, PROT_READ) = 0 mprotect(0x7f043c32f000, 4096, PROT_READ) = 0 munmap(0x7f043c2cd000, 231893) = 0 brk(NULL) = 0x5593e5b58000 brk(0x5593e5b79000) = 0x5593e5b79000 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=5703680, ...}) = 0 mmap(NULL, 5703680, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f043bb70000 close(3) = 0 openat(AT_FDCWD, "/etc/localtime", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=1544, ...}) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=1544, ...}) = 0 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\21\0\0\0\21\0\0\0\0"..., 4096) = 1544 lseek(3, -936, SEEK_CUR) = 608 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\21\0\0\0\21\0\0\0\0"..., 4096) = 936 close(3) = 0 fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 6), ...}) = 0 write(1, "\320\237\320\275 \320\274\320\260\321\200 11 14:44:42 MSK 2019"..., 33  11 14:44:42 MSK 2019 ) = 33 close(1) = 0 close(2) = 0 exit_group(0) = ? +++ exited with 0 +++ 

: time gettimeofday .
: vdso=0 .


, , gettimeofday , . - vDSO , . , , seccomp , , .



...


  • gdb? tui en — .
  • gdb break , true , : break malloc if sz > 10000 ( break )
  • /

Source: https://habr.com/ru/post/443054/


All Articles