Wednesday, March 18, 2009
Wednesday, March 11, 2009
ltrace
Usage: ltrace [option ...] [command [arg ...]]
ltrace is a tool that simply runs the specified command until it exits. It intercepts and records the dynamic library calls which are called by the executed process.
ltrace accepts a lot of options. You can trace also for system calls, count time , follow forks etc. A short list with options can be found below:
ltrace is a tool that simply runs the specified command until it exits. It intercepts and records the dynamic library calls which are called by the executed process.
dan@lemon:~/playground$ ltrace -n 8 -C date
__libc_start_main(0x8049780, 1, 0xbfb1e874, 0x8052c50, 0x8052c40
setlocale(6, "") = "en_US.UTF-8"
bindtextdomain("coreutils", "/usr/share/locale") = "/usr/share/locale"
textdomain("coreutils") = "coreutils"
__cxa_atexit(0x804cd70, 0, 0, 0xb7ee4ff4, 0xbfb1e7d8) = 0
getopt_long(1, 0xbfb1e874, "d:f:I::r:Rs:u", 0x8053ea0, NULL) = -1
nl_langinfo(131180, 0xbfb1e874, 0x8053e85, 0x8053ea0, 0) = 0xb7ef3915
clock_gettime(0, 0xbfb1e7b8, 0xb7dae8f5, 0xb7ee4ff4, 0) = 0
localtime(0xbfb1e6c8) = 0xb7ee8380
strftime(" Wed", 1024, " %a", 0xb7ee8380) = 4
fwrite("Wed", 3, 1, 0xb7ee54c0) = 1
fputc(' ', 0xb7ee54c0) = 32
strftime(" Mar", 1024, " %b", 0xb7ee8380) = 4
fwrite("Mar", 3, 1, 0xb7ee54c0) = 1
fputc(' ', 0xb7ee54c0) = 32
fwrite("11", 2, 1, 0xb7ee54c0) = 1
fputc(' ', 0xb7ee54c0) = 32
fputc('0', 0xb7ee54c0) = 48
fwrite("9", 1, 1, 0xb7ee54c0) = 1
fputc(':', 0xb7ee54c0) = 58
fwrite("38", 2, 1, 0xb7ee54c0) = 1
fputc(':', 0xb7ee54c0) = 58
fwrite("33", 2, 1, 0xb7ee54c0) = 1
fputc(' ', 0xb7ee54c0) = 32
strlen("EET") = 3
fwrite("EET", 3, 1, 0xb7ee54c0) = 1
fputc(' ', 0xb7ee54c0) = 32
fwrite("2009", 4, 1, 0xb7ee54c0) = 1
__overflow(0xb7ee54c0, 10, 0x1e08f70c, 0, 0x1e08f70cWed Mar 11 09:38:33 EET 2009
) = 10
exit(0
__fpending(0xb7ee54c0, 0xb7f20ff4, 0x8048704, 0xb7ee4ff4, 0) = 0
fclose(0xb7ee54c0) = 0
__fpending(0xb7ee5560, 0xb7f20ff4, 0x8048704, 0xb7ee4ff4, 0) = 0
fclose(0xb7ee5560) = 0
+++ exited (status 0) +++
ltrace accepts a lot of options. You can trace also for system calls, count time , follow forks etc. A short list with options can be found below:
-a, --align=COLUMN align return values in a secific column.
-c count time and calls, and report a summary on exit.
-C, --demangle decode low-level symbol names into user-level names.
-d, --debug print debugging info.
-e expr modify which events to trace.
-f follow forks.
-h, --help display this help and exit.
-i print instruction pointer at time of library call.
-l, --library=FILE print library calls from this library only.
-L do NOT display library calls.
-n, --indent=NR indent output by NR spaces for each call level nesting.
-o, --output=FILE write the trace output to that file.
-p PID attach to the process with the process ID pid.
-r print relative timestamps.
-s STRLEN specify the maximum string size to print.
-S display system calls.
-t, -tt, -ttt print absolute timestamps.
-T show the time spent inside each call.
-u USERNAME run command with the userid, groupid of username.
-V, --version output version information and exit.
-x NAME treat the global NAME like a library subroutine.
Tuesday, March 3, 2009
dmidecode
dmidecode is a tool for dumping a computer's DMI table contents in a human readable format. This table contains information regarding system's hardware components as described in BIOS.
More information you can find here or in dmidecode(8) manpage.
More information you can find here or in dmidecode(8) manpage.
Subscribe to:
Posts (Atom)