FreeBSD Install Strace – A Process Tracer And Debugging Tool

Posted on in Categories , , , last updated April 29, 2008

Q. How do I install Strace utility under FreeBSD operating system so that I can trace and debug my applications and report 3rd party software bugs?

A. Strace is a process tracer, i.e. a debugging tool that prints out a trace of all the system calls made and signals received by a process itself or a process and its descendants.

Strace is similar to the native BSD truss utility, but it’s output style is more convenient in most cases.

For strace to work, procfs has to be mounted. FreeBSD does not mount it by default.

WARNING! These examples only work for i386 32 bit FreeBSD computer (strace is not ported to amd64 arch [64 bit]).

Install strace

First update FreeBSD ports collection and install strace from /usr/ports/devel/strace:
# portsnap fetch update
# cd /usr/ports/devel/strace
# make install clean

Mount /proc file system

You need to mount /proc filesystem to use trace command under FreeBSD, enter:
# mount -t procfs proc /proc

How do I use Strace tool?

Please see our previous FAQ / tutorials about strace command:

  1. Debugging Tip: Trace the Process and See What It is Doing with strace
  2. Truss like command under Linux to monitor and diagnostic the system calls

Truss like command under Linux to monitor and diagnostic the system calls

Posted on in Categories , , , , , , , , last updated April 10, 2008

Q. Solaris and FreeBSD both provide the truss command to monitor and debug system calls. I’m unable to find this command or package. How can I install truss under Linux?

A. truss is a debugging utility in Solaris and FreeBSD to monitor the system calls used. It is used to trace call and useful debugging many problems. Linux provides strace command. This command is installed by default. strace is a useful diagnostic, instructional, and debugging tool. System administrators, diagnosticians and troubleshooters will find it invaluable for solving problems with programs for which the source is not readily available since they do not need to be recompiled in order to trace them.
Continue reading “Truss like command under Linux to monitor and diagnostic the system calls”

How to use shutdown command under Ubuntu Linux

Posted on in Categories , , , last updated October 9, 2007

Q. I’ve just installed Ubuntu Linux on my computer. I’d like to know – how to shutdown Ubuntu box over ssh session?

A. If you are not using GUI, you can run halt or shutdown command to powerdown box.

shutdown command

shutdown arranges for the system to be brought down in a safe way. All logged-in users are notified that the system is going down and, within the last five minutes of TIME, new logins are prevented. The shutdown utility provides an automated shutdown procedure for supersers to nicely notify users when the system is shutting down, saving them from system administrators, hackers, and gurus, who would otherwise not bother with such niceties.

How do I use shutdown command?

The shutdown command can be used to turn off or reboot a computer. Type the command as follows to shutdown server / computer immediately:
$ sudo shutdown -h now
$ sudo shutdown -h 0

How do I shutdown compute at specific time?

To shutdown computer at 6:45pm, enter:
$ sudo shutdown -h 18:45 "Server is going down for maintenance"
At 6:30pm message will go out to all user and 6:45 system will shutdown.

Please note that you can also use halt or poweroff or reboot command for stopping and restarting the system:
$ sudo halt
$ sudo poweroff

How do I reboot computer?

Simply use reboot command:
$ sudo reboot
$ sudo shutdown -r 0