notas:strace
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaPróxima revisiónAmbos lados, revisión siguiente | ||
notas:strace [2011/01/14 13:48] – cayu | notas:strace [2020/04/17 01:25] – [Strace] cayu | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Strace ====== | ====== Strace ====== | ||
- | **strace** es una utilidad | + | **strace** es una utilidad |
- | Su uso más común consiste en arrancarlo | + | Se puede arrancar |
===== Uso ===== | ===== Uso ===== | ||
Línea 52: | Línea 52: | ||
</ | </ | ||
+ | ===== Ejemplo de ejecución ===== | ||
+ | Podemos tomar este código : https:// | ||
+ | <code c> | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | int socket_connect(char *host, in_port_t port){ | ||
+ | struct hostent *hp; | ||
+ | struct sockaddr_in addr; | ||
+ | int on = 1, sock; | ||
+ | |||
+ | if((hp = gethostbyname(host)) == NULL){ | ||
+ | herror(" | ||
+ | exit(1); | ||
+ | } | ||
+ | bcopy(hp-> | ||
+ | addr.sin_port = htons(port); | ||
+ | addr.sin_family = AF_INET; | ||
+ | sock = socket(PF_INET, | ||
+ | setsockopt(sock, | ||
+ | |||
+ | if(sock == -1){ | ||
+ | perror(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | if(connect(sock, | ||
+ | perror(" | ||
+ | exit(1); | ||
+ | |||
+ | } | ||
+ | return sock; | ||
+ | } | ||
+ | |||
+ | #define BUFFER_SIZE 1024 | ||
+ | |||
+ | int main(int argc, char *argv[]){ | ||
+ | int fd; | ||
+ | char buffer[BUFFER_SIZE]; | ||
+ | |||
+ | if(argc < 3){ | ||
+ | fprintf(stderr, | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | fd = socket_connect(argv[1], | ||
+ | write(fd, "GET / | ||
+ | bzero(buffer, | ||
+ | |||
+ | while(read(fd, | ||
+ | fprintf(stderr, | ||
+ | bzero(buffer, | ||
+ | } | ||
+ | |||
+ | shutdown(fd, | ||
+ | close(fd); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | </ | ||
+ | ===== Extras ===== | ||
+ | A veces también puede servirnos **ltrace**, que es una utilidad de depuración, |
notas/strace.txt · Última modificación: 2020/04/17 02:11 por cayu