Debugging from python into a C++ library in eric
Guðjón Guðjónsson
gudjon.i.gudjonsson at gmail.com
Thu Jan 19 21:52:32 GMT 2023
Hi Detlev
Thanks for the answer.
>>I am working on my PyQt-Qwt library and I do have problem with a C++
function that has many type variations and I don't >>know which one the
Python program is calling.
> Shouldn't the calling propgram determine, what it wants to do with the
> called function? In the case below I would assume, that the setSamples()
> method expects a 'length' parameter. I haven't worked with Qwt for ages, so
> I am not able to help.
>
> File "scatterplot.py", line 75, in setSamples
> self.d_curve.setSamples( samples )
> TypeError: index 0 has type 'QPointF' but 'int' is expected
>
> It worked for Qwt 6.1.6 and I don't see any difference up to Qwt 6.2.0
> which is the current version.
>
> The only way to solve this is to debug the python program into the Qwt.so
> library but I don't know how to do it. The
> "Trace into interpreter libraries" doesn't help.
>
> No, that won't help. It simply means to trace into the Python files of the
> standard library of the interpreter used. The eric debugger cannot trace
> into .so libraries. It only deals with Python, MicroPython and Cython files.
>
The problem is solved. The python program did call an incorrect definition
of the overloaded function. Debugging with gdb and setting a breakpoint at
setSamples did not help because the program didn't stop there.
After having removed the the setSamples definition with integer in its
definition, the program works nicely.
But I am still interested in being able to know what definition of an
overloaded function is called from python but I don't know how to do it.
How does the TypeError above occur since gdb doesn't break at the function
called and the eric debugger doesn't show how it occurs either?
Regards
Gudjon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/eric/attachments/20230119/9974ce6e/attachment.htm>
More information about the Eric
mailing list