How do you use `help` when write your code

Chris Angelico rosuav at gmail.com
Mon Jul 7 05:06:07 CEST 2014


On Mon, Jul 7, 2014 at 10:52 AM, Roy Smith <roy at panix.com> wrote:
> In article <mailman.11564.1404687291.18130.python-list at python.org>,
>  Chris Angelico <rosuav at gmail.com> wrote:
>
>> But the important thing is that you log.
>
> I 'spose.  Let's see.  Yesterday we generated 133 GB of log files.  And
> Sunday is a slow day :-)

Heh, that's a bit bigger in scale than most of what I work with... but
yes. I have a log file of the from and to addresses of every email
that goes through my spam filter, and whether it was marked spam or
ham; the expectation is that any mail that doesn't bounce (the server
will reject prior to this log based on certain rules) will be in the
log, so if anyone asks about something, I can grep the log for an
address. It's a fairly compact log, and this is a fairly small site,
so the growth is a lot slower than 133GB/day! But the principle's the
same: log today so you can find a problem tomorrow.

>> Have you ever had a bug where someone else finds it and then doesn't
>> give you full repro steps?
>
> Are there people like that where you are?  Weird.

Yes, sadly, there are people just about everywhere.

(Despite my post being in response to one of yours, Roy, I still
partly felt that I was addressing Rick. Hence the slightly odd wording
of something that, for most of us, is a "duh" matter.)

>> There are times when you have to go for the "Real Programmer"
>> debugging style. Pretend the program is a black box, no source code
>> available, nothing.
>
> Yup; strace and tcpdump are two of my best friends.  The source code
> only tells you what the program is *supposed* to do.  Strace tells you
> what it did.  And tcpdump tells you what it said.

That's about it, yeah. I tend to find both strace and tcpdump rather
too spammy for most usage, so any time I reach for those tools, it's
usually with some tight filtering - and even that's not always
helpful. The last thing I straced was a (closed-source) game that was
having some problems (cross-platform, I'm one of a very small number
of Linux testers), and it was running at well over 100 FPS... and each
frame involved quite a few system calls. Yeah, that was spammy.

ChrisA



More information about the Python-list mailing list