Skip to content

InternalDevelopment

cztomczak edited this page May 25, 2016 · 17 revisions

Track project updates

To track Git commits subscribe to this RSS feed or just watch the project and be notified via email or GitHub site.

Recommended software

Markdownd editor:

Python and Cython IDEs:

Build instructions

See build instructions on these wiki pages:

Python/Cython style guidelines

  • try to comply with the PEP 8 style guide
  • use 4 spaces for indentation
  • commit unix-style newlines (\n)
  • limit all lines to a maximum of 79 characters (comments should be shorter, max 60-65 chars)
  • do your best for the new code to be consistent with existing code base

Debug CEF stack trace

  1. Install gdb with the command "sudo apt-get install gdb"
  2. Type "gdb python"
  3. Inside gdb type "run pyqt.py"
  4. On segmentation fault to display stack trace type "bt"

Debug Cython

Debugging Cython is currently supported only on Linux.

Before you can debug you have to install the following packages:

python-dbg
python-wxgtk2.8-dbg

Install Cython with the debug version of Python:

cd Cython-0.19.2/
sudo python-dbg setup.py install

To debug CEF Python add the "debug" argument to the "compile.py" script:

python-dbg compile.py 99.99 --debug

After a while you should see a GDB console awaiting a command, to run the app type:

cy run

To get the stack trace type:

cy backtrace

The command for running and debugging script is:

cygdb . --args python-dbg wxpython.py

To run commands automatically in gdb add "-x gdb.cmds" flag. An example gdb.cmds file:

cy run
quit

The final command would look like:

cygdb . -x gdb.cmds --args python-dbg wxpython.py

For more commands see the "Using the debugger" section in the Cython documentation: http://docs.cython.org/src/userguide/debugging.html#using-the-debugger

Updating to a newer CEF version

To see changes in the CEF API compare "src/include/" directory with the new CEF "include/" directory. When doing so compare the CEF header files downloaded directly from the CEF git repository, as the CEF "include/" directory obtained from binary build will not include platform specific header files.