Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

Python Debugger

(1/15) > >>

dmoore:
I'm finally starting to revise the python debugger again. I plan to post questions and issues re using the new debugger API here (mostly intended for obfuscated).

To test:
1. Checkout the code to your contrib directory (this assumes you are using C::B to build C::B and the plugins)


--- Code: ---svn checkout http://svn.berlios.de/svnroot/repos/cbilplugin/trunk/PythonDebugger

--- End code ---

2. When you build the project within C::B it will install itself into devel like any other contrib plugin.

3. Make sure python is in your path

4. Open a sample python program

5. Set Python Debugger as the active debugger: Debug -> Active Debuggers -> PyDebugger

6. F8 will start debugging on the python program in the active editor (I may add python project support later), F7 to step through the code, F4 to run to cursor etc

Stepping through code, call stack and breakpoints all sort of work. Using the watch will crash C::B (still working on it) Watch now sort of working (shows children (but not children of children), no changing of values)

oBFusCATed:

--- Quote from: dmoore on July 25, 2012, 03:55:40 am ---1. Checkout the code to your contrib directory (this assumes you are using C::B to build C::B and the plugins)

--- Code: ---svn checkout http://svn.berlios.de/svnroot/repos/cbilplugin/trunk/PythonDebugger

--- End code ---
2. When you build the project within C::B it will install itself into devel like any other contrib plugin.

--- End quote ---
This is a part of C::B development I dislike, too much.
You can inspect my plugin to how I workaround this project and how I'm able to develop plugins without the need to put them in the contrib dir.
I even have an autotools system.

Here is a link to the plugin: svn://cmpt.benbmp.org/cb_gdb_mi/debbugger_gdbmi

dmoore:

--- Quote from: oBFusCATed on July 25, 2012, 09:29:06 am ---
--- Quote from: dmoore on July 25, 2012, 03:55:40 am ---1. Checkout the code to your contrib directory (this assumes you are using C::B to build C::B and the plugins)

--- Code: ---svn checkout http://svn.berlios.de/svnroot/repos/cbilplugin/trunk/PythonDebugger

--- End code ---
2. When you build the project within C::B it will install itself into devel like any other contrib plugin.

--- End quote ---
This is a part of C::B development I dislike, too much.

--- End quote ---

Actually, my description wasn't quite right. You don't have to install to checkout to the contrib dir, what you do have to do is set a "cb" global variable that points to the C::B source location. The plugin will be deployed into the devel folder there. (I may have broken something on Windows, so you may actually need to put it in the contrib dir.) I prefer to do my development this way because it means I can tinker with C::B sources as I develop my plugins.

I treat autotools like plague. (They're great, just not for me.)

Thanks for the link.

oBFusCATed:

--- Quote from: dmoore on July 25, 2012, 01:11:21 pm ---I treat autotools like plague. (They're great, just not for me.)

--- End quote ---
It turned out that it is not that bad and it is the only (sensible) choice if you want to deploy free/open software on linux

dmoore:

--- Quote from: oBFusCATed on July 25, 2012, 03:11:47 pm ---
--- Quote from: dmoore on July 25, 2012, 01:11:21 pm ---I treat autotools like plague. (They're great, just not for me.)

--- End quote ---
It turned out that it is not that bad and it is the only (sensible) choice if you want to deploy free/open software on linux

--- End quote ---

Absolutely agree. But never had the time to really understand it, and not sure I ever will. I don't do enough C/C++ development, or more specifically C/C++ deployment, to make it worthwhile. More to the point, on the C/C++ projects I've been involved in there's always someone who knows how to do it that's not me. And it doesn't stop there: if you want to deploy you have to understand package management as well. (I still have the scars from setting up a launchpad PPA -- aargh!). Keep in mind, my day job has next to nothing to do with software development.

Not to say that I am not willing to learn, just that I think I have better things to do. Are there any better guides than this one? http://www.freesoftwaremagazine.com/books/autotools_a_guide_to_autoconf_automake_libtool

PS: Updated the python debugger to support expanding the watch (not fully functional yet)

Navigation

[0] Message Index

[#] Next page

Go to full version