249
Debugging (lemmy.ml)
you are viewing a single comment's thread
view the rest of the comments
[-] Lojcs@lemm.ee 5 points 1 month ago* (last edited 1 month ago)

Kind of unrelated, why does c sometimes fail to print if it hits a breakpoint right after a print while debugging? Or if it segfaults right after too iirc

[-] targetx@programming.dev 5 points 1 month ago

Without knowing the details of C, I've seen this in other languages and it's usually something with missing a flush or a buffered output mode or something like that.

[-] huf@hexbear.net 3 points 1 month ago

does anything flush the buffers after the print, but before the break? otherwise, if the stream you're printing to is buffered, you're not necessarily gonna see any output

[-] Lojcs@lemm.ee 3 points 1 month ago

I don't know, I just use printf

[-] joucker29@lemmy.ml 2 points 1 month ago

Im pretty sure its because of char 13 (carriage return). This char sets cursor to the start of the line overwriting whatever was printed there (in most terminals). I belive that some error messages use this char and when you print something the char at the begining or end of the error message overwrites your message. A workaround is simply printing a newline after or before your message.

this post was submitted on 20 Nov 2024
249 points (98.4% liked)

Programmer Humor

32707 readers
626 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS