John E
March 9th, 2008, 01:47 PM
For the past year or so I've been involved in a large Linux project. Like all OS's, Linux is an acquired taste (and, sad to say, it hasn't really suited my tastes at all). Nevertheless, I'm stuck with it.
One thing that particularly grates is the difficulty of doing single-step debugging within a multithreaded app. For those with an enquiring mind this article (http://www.sourceware.org/ml/gdb/2006-03/msg00170.html) describes a fundamental feature (weakness?) of POSIX that effectively makes it incompatible with multithreaded debugging. That item refers specifically to gdb - but I've tried other Linux debuggers too and they're all just as bad. The problem is basically within POSIX.
Single-stepping is such an integral part of the way I work that I've even considered installing Cygwin (under Windows) and debugging my code within Windows. Cygwin (if I understand it correctly) emulates a POSIX environment within Windows (thereby allowing POSIX dependent apps to be built with Linux tools (e.g. gcc/minGW) but run under Windows). But does Cygwin emulate POSIX "warts and all?" In other words, if I were to try this route, would I be on a fool's errand? Would I still end up with the same problems?
I just wondered if there's anyone here who uses Cygwin - and what are your experiences with single-step debugging?
One thing that particularly grates is the difficulty of doing single-step debugging within a multithreaded app. For those with an enquiring mind this article (http://www.sourceware.org/ml/gdb/2006-03/msg00170.html) describes a fundamental feature (weakness?) of POSIX that effectively makes it incompatible with multithreaded debugging. That item refers specifically to gdb - but I've tried other Linux debuggers too and they're all just as bad. The problem is basically within POSIX.
Single-stepping is such an integral part of the way I work that I've even considered installing Cygwin (under Windows) and debugging my code within Windows. Cygwin (if I understand it correctly) emulates a POSIX environment within Windows (thereby allowing POSIX dependent apps to be built with Linux tools (e.g. gcc/minGW) but run under Windows). But does Cygwin emulate POSIX "warts and all?" In other words, if I were to try this route, would I be on a fool's errand? Would I still end up with the same problems?
I just wondered if there's anyone here who uses Cygwin - and what are your experiences with single-step debugging?