Re: [PATCH kvm-unit-tests 2/4] Introduce a C++ wrapper for the kvm APIs

Avi Kivity
2010-11-24T18:55:18Z

On 11/24/2010 08:10 PM, Gleb Natapov wrote:
> On Wed, Nov 24, 2010 at 07:50:44PM +0200, Avi Kivity wrote:
> > On 11/24/2010 07:43 PM, Gleb Natapov wrote:
> > >> >Explicit code means you know what is going on, it means you can debug it
> > >> >in gdb and match it. That is a *good* thing!
> > >>
> > >> Implicit code means that you don't need to debug it. The compiler
> > >> gets it right every time.
> > >>
> > >Best joke ever!
> >
> > Do you encounter many compiler bugs in your daily work?
> >
> Bug can still be yours but all this virtual inheritance make it much
> harder to understand what happens.

No, it's easier, since there's a lot less code to chase.

Of course, you have to learn the pattern in the language, but you do
this once and keep reusing this. If it's emulated in C, you have to
read all the code over and over again (in different uses), always on the
lookout to see if it's exactly the same pattern, or if some bug crept in.

> How is support for C++ debugging in
> gdb this days?

Last I debugged C++ was 5+ years ago. I had no complaints (though I'm a
mostly printf debugger).

> Can gdb tell type of object from object instance?

Yes, provided it has at least one virtual function. Otherwise you only
get the static type. In fact this is much better than C where you have
to look up the ops table and perform the container_of() manually.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.