Daniel P. Berrangé <berra...@redhat.com> writes:

> When debugging QEMU it is often useful to put a breakpoint on the
> error_setg_internal method impl.
>
> Unfortunately the object_property_add / object_class_property_add
> methods call object_property_find / object_class_property_find methods
> to check if a property exists already before adding the new property.
>
> As a result there are a huge number of calls to error_setg_internal
> on startup of most QEMU commands, making it very painful to set a
> breakpoint on this method.

Work-around: make the breakpoint conditional on errp != NULL.

Use of error_propagate() can defeat the work-around, but doesn't here,
as far as I can tell.

> Most callers of object_find_property and object_class_find_property,
> however, pass in a NULL for the Error parameter. This simplifies the
> methods to remove the Error parameter entirely, and then adds some
> new wrapper methods that are able to raise an Error when needed.

I don't mind.  Up to the QOM maintainers.

> Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


Reply via email to