Vladimir Prus


vladimirprus.com

Thursday, April 06, 2006

Printf debugging 2006

One of the oldest methods of debugging is "printf debugging" -- putting various print statements in the code and then staring at the output. That's useful not only if you can't use a debugger. If the program does not crash, but produces wrong results after long computation, it's hard to figure where exactly the problem lies. In that case, printing intermediate data can be a very efficient method.

The only problem is that after adding print statements the program must be recompiled, and after debugging print statements must be removed. But it's possible to make gdb into printing machine using so called "breakpoint commands". Each breakpoint can have a list of commands that will be executed when breakpoint is hit. The commands can include printing and "continue". Here's a simplified example of gdb script I've used recently:

break main.cpp:1353
commands
   print ('lvk::nm_model::NM'*)this
   printf "Entering 'run', proc %d\n", $->processor_number
   continue
end
run

After putting this to a file "script", gdb can be run as:

gdb -batch -x script name_of_program > log
producing logs of variable values as certain points of the program.

Starting with version 3.3.0, similar functionality is available in KDevelop. Just click on the "Tracing" column in breakpoints window, select variables to print and click OK.

More screenshots here and here. This is a beginning, future KDevelop version will allow to specify custom commands for breakpoints.

29 comments:

Anonymous said...

Wow, never know about this useful trick.

Anonymous said...

Nice, but why do you use pixelated (non anti-aliased) fonts? It makes the writing look like it's in the stone age :)

Vladimir Prus said...

Heh, I can't control which fonts are antialised on your machine ;-)

Anonymous said...

Nice, but why do you use pixelated (non anti-aliased) fonts? It makes the writing look like it's in the stone age :)
I thought all developers preferred to avoid headache inducing blurry fonts when doing serious coding.

superstoned said...

> I thought all developers
> preferred to avoid headache
> inducing blurry fonts when doing
> serious coding.

depends on the way you anti-alias your fonts... there are ways to keep em clear and actually make em more readable.

Anonymous said...

Anonymous said...

> Nice, but why do you use
>pixelated (non anti-aliased) fonts?
>It makes the writing look like it's
>in the stone age :)

I always wonder why people look at things totally out of the topic of blog post while commenting. Its really hard for developers to blog(most of them aren't professional bloggers) keeping all these extra stuff in mind :) Thank god, atleast you weren't rude :)

Anyway this is really nice useful trick. Thanks for this tip :)
--
gopala

Nathan William said...

Engineers who wish to migrate to Australia must submit a Competency Demonstration Report and the Engineers Australia must approve it. Thus, engineering students look forward to getting
Cdr Australia which assists them to get a flawless CDR. This reduces the chances of rejection by the EA.
Most students and experienced civil engineers are today looking forward to migrating to Australia as the job scope is better and bigger with a high pay scale. Therefore, getting CDR help is the only scope to gain entry into the country.
The CDR for Engineers Australia must be impressive and abide by the ANZSCO code and guidelines. It should also showcase the skills of the applicants as a suitable civil engineer to work according to the Australian rules and regulations.
The service providers who assist the students with CDR have experienced CDR report writing. These writers know the requirements of a CDR and do it accordingly.

rickypauls said...

Great post with informative details of Assignment Help. For effective help to complete your project related to any subject, visit greatassignmenthelp or opt for live chat option.
Assignment Help Online
Online Assignment Help
Assignment Help Online Services
Assignment Helper
Assignment Assistance
Assignment Help Experts
Online Assignment Help Services
Assignment Writing Help

Michael Jones said...

It is not easy for many students to do assignments on their own as it requires a lot of research and time for making assignments. That is why; they take help from Online Assignment help.Java Assignment help

myassignmenthelpau said...

I suggest everyone to choose Assignment Help Australia for getting the best guidance in their academia. The proficient experts assist as per the requirements and learning styles desired by the university.

Olivia Crew said...

Livewebtutors aims at providing the students with a one stop solution for all the academic related issues. The company has Livewebtutors is an online Assignment Help and assignment writing service offering expert assignment help. Hire Australian assignment writing experts.
visit now:- Assignment Help

Olivia Crew said...

Livewebtutors aims at providing the students with a one stop solution for all the academic related issues. The company has Livewebtutors is an online Assignment Help and assignment writing service offering expert assignment help. Hire Australian assignment writing experts.
visit now:- Nursing Assignment Help

idealassignmenthelp said...

A very high level post with a knowledgeable information .thanks you for giving me such a nice information. If you need any college level
My Assignment Help at reliable quality with better work. Kindly visit Ideal assignment help.

Bella said...

Your Blog is appriciatable.
Paperssolution
topacademictutors
liveassignmenthelp

darylharper said...

Make your Travel smarter Cash Back offers and make your Online Credit Card Payment using your account with any other bank.

printersupportnumber said...

Nice Post..
Is your HP printer getting offline all of sudden while printing? Because of this issue, are you unable to print any document or file? Want an instant support from top-most technicians to bring it online from offline? If really so, then place a single call at HP Printer Support Phone Number where you will receive the exact possible answer of your offline printer related query. Our technical engineers are talented and knowledgeable in technical field. So, you will be proffered handy remedy within a minute.

Olivia Crew said...

A very high level post with a knowledgeable information .thanks you for giving me such a nice information. If you need any college level Assignment Help at reliable quality with better work. Kindly visit livewebtutors website we providing best assignment help services in
Australia, USA, UK, UAE, and Canada etc.
Read more now :- Assignment Help Australia

Robert Duvall said...

Having an HP printer driver on operating system is very important for starting a print job. Your printer won’t be worthy until you download and install the correct driver for your HP printer. Therefore, in case you don’t know the steps of printer driver installation, you can simply open your web browser and enter the URL 123.hp.com onto the search bar. The entire downloading procedure will be come up in front of you and once you go through those steps, printer driver will surely be installed on PC. But if facing some complications while following the given points, you can give an instant ring at XYZ. Your problem will be sorted out within a pinch by our technical team.

john amber said...

I suggest all members choose assignment help Australia for the best guideline in your academia. The perfect and expert assistant your requirement and learning assignment project by the university.

Olivia Crew said...

Excellent information Providing by your Article, thank you for taking the time to share with us such a nice article. Amazing insight you have on this, it's nice to find a website that details so much information about different artists. Kindly visit livewebtutors website we providing best assignment help services in Australia.
Read more now :- Business Assignment Help

Smith John Live said...

For HP Officejet Pro 9015 setup and troubleshooting assistance, visit 123.hp.com/setup 9015

Alex williams said...

Do you require HP printer setup for your mac operating system? Is your printer driver not suitable for macOS? Then visit the 123.hp.com to get the software and driver for better functioning of your printer. You can also call our expert HP support team for services.

john amber said...

Everything should be based on fact. The arrangement of fact and information is not an easy task sometimes it becomes a very tough task to do in such cases student can go through online Assignment Help , and these services are very reliable, and they can provide information about any topic related to the academics. If you need any college level Assignment Help at reliable quality with better work. Kindly visit our website.

Microsoft Outlook Office said...

We recently did work on Hotmail. We have Change Hotmail Password after that, assess Hotmail is very easy for work for everyone. With our client request, we are worked on it and finally, we got success to hotmail change password.
Is there a phone number for Hotmail support?
change microsoft password
How do I call Outlook support?
How do I contact outlook customer service?
How Can I Contact Outlook Support?
How do I Contact Outlook Support?
Is there a phone number for Outlook support?
Is there a Phone Number for Office 365 Support?
Is there a phone number for Microsoft office support?
outlook keeps asking for password
Outlook Working Offline

Microsoft Support said...

The mentioned points in this guide are very informative and helped me to resolve my issue in a very proficient manner. At the time of solving my query I got stuck at one point, so I called at outlook Support Phone number and the technician who answered my call guided me thoroughly to get rid of my issue. I really appreciate the hardworking of that guy, who helped me during my crisis of time and never leave my side until problem didn’t get resolved. Therefore, I personally suggest everyone to get hold of Microsoft outlook Support if you really want to resolve your query related to your Outlook.
How do I call Outlook support?
Is there a phone number for Outlook support?
How do I contact Hotmail Support?
Is there a phone number for Hotmail support?
Change Hotmail Password
hotmail change password
change microsoft password
Is There A Phone Number For Microsoft Windows Support?
How Do I Contact Microsoft Windows Support?
How to Contact Microsoft Windows Tech Support?
Windows support
Microsoft windows support

Manndy said...

Air India, Ordinance and now Honda Motors Sinking Economy hits Honda’s Temp Workers, Manesar, 16% laid-off (57.53% remaining), 30.95% speculated, 73.53% Third Party Pay-Roll bread in-secure. more

Alex Jones said...

Get the compatible software by navigating to the 123.hp.com/setup web page!

walker phoenix said...

Are you searching for a model that can offer excellent print speed and quality? It's the Kodak Verite 55 that is in more demand. The top features include attractive design, print speed for 10 ppm for black and 4ppm for color, affordable print cost and lot more. Download the device setup manual to execute the setup. For guidance reach out to our techies who can guide you round the clock

john amber said...

Thank you for this wonderful information looking forward for more. We are Providing the best quality assignment help. You will find out online My Assignment Help service on firstassignmenthelp. And these services are very reliable, and they can provide information about any topic related to the academics. If you need any college level Assignment Help at reliable quality with better work. Kindly visit our website firstassignmenthelp.