Remote Debugging in Nova
You can use a remote debugger to attach to nova services by specifying the host and port as command line arguments. For example
/usr/local/bin/nova-compute --config-file /etc/nova/nova.conf --remote_debug-host 172.16.245.1 --remote_debug-port 1234
In order to do this you need to have a remote debug server - this wiki describes how to use remote debugging with pycharm. You need a commercial license to do remote debugging with pycharm.
Preparing the server
Start pycharm and create a remote debug runtime configuration. Change the host and port to your IP address and the port you want to use. The path map shows how to translate the path in your nova environment to the path that your debug server understands. The example here shows /opt/stack/nova mapped to /Volume/OpenStack/nova. I have used samba to mount my /opt/stack directory on my debug host at mount point /Volume/Openstack. You need this or you will not be able to see your code and set breakpoints.
Once you have the configuration done, press the bug to start the debugger
You should see the debugger waiting for connection
Preparing the client
First you need to copy the pydev client script to the environment where you are running nova services.