On Dec 3, 8:40 am, junyoung <juneng...@gmail.com> wrote: > On 12월2일, 오전9시54분, junyoung <juneng...@gmail.com> wrote: > > > > > On 12월1일, 오후6시14분, "Diez B. Roggisch" <de...@nospam.web.de> wrote: > > > > junyoung schrieb: > > > > > Hi, I am a newbie who want to implement a extend module to use native > > > > python language with my own shared library. > > > > If it's a C shared library, don't bother extending it. Use ctypes to > > > wrap it. Much easier, and no need for a compiler. > > > > > to test wrapper library(extend module, name is 'test.so'), I created > > > > some test-cases. > > > > > There are some errors what I couldn't figure our reasons. > > > > > ex) > > > > SystemError: error return without exception set > > > > .... > > > > ... > > > > This indicates that you violated the exception protocol. > > > >http://docs.python.org/c-api/exceptions.html > > > > > so, I ran the ddd with python and then I set test.py as a argument of > > > > it. > > > > > ex) > > > > ddd python > > > > > in ddd > > > > run with arguments : test.py > > > > > but in this situation, I couldn't step in my own shared library > > > > (compiled as the debug mode). > > > > > Is there any clear way to debug my extend module(that it, debug shared > > > > library)?? > > > > I do it like this: > > > > # gdb python > > > gdb $ set args test.py > > > gdb $ run > > > > You can only debug a binary program (test.py isn't one, python is). But > > > trough the args, you get yours script running. > > > > It *might* help to have a python debug build, I personally never needed > > > that. > > > > Diez > > > here is my results. anyway, check this out. > > > (gdb) set args connect.py > > set args connect.py > > (gdb) run > > run > > Starting program: /usr/bin/python connect.py > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > [Thread debugging using libthread_db enabled] > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > [New Thread 0x7f619747e6e0 (LWP 23683)] > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > [New Thread 0x415a9950 (LWP 23686)] > > [Thread 0x415a9950 (LWP 23686) exited] > > [New Thread 0x415a9950 (LWP 23687)] > > [Thread 0x415a9950 (LWP 23687) exited] > > Traceback (most recent call last): > > File "connect.py", line 25, in <module> > > main() > > File "connect.py", line 18, in main > > connection_test() > > File "connect.py", line 15, in connection_test > > cnxn.close() > > SystemError: error return without exception set > > > Program exited with code 01. > > (gdb) > > > as you see, I can't load symbol table information from gdb. > > > now python is defaulted installed as release. > > > my os is ubuntu > > the python is installed in /usr/bin > > the python version is 2.5.1 > > > do i need to re-install python as debug mode? > > after compiling it(python) as debug mode, I could debug it ;( > > I don't still know why I have to compile it as debug mode to step in > my own library. interesting....
BTW: No need to compile, just 'apt-get install python-dbg' -- http://mail.python.org/mailman/listinfo/python-list