.. Copyright 2016 - 2018 Ternaris. .. SPDX-License-Identifier: CC-BY-SA-4.0 .. _debug: Debugging ========= Given an exception during a node run: .. code-block:: console $ marv run --node bagmeta b563ng6y6d3 --force 2018-02-01 09:58:10,552 INFO rospy.topics topicmanager initialized 2018-02-01 09:58:10,984 INFO marv.run b563ng6y6d.bagmeta.dwz4xbykdt.default (bagmeta) started with force 2018-02-01 09:58:10,987 ERRO marv.cli Exception occurred for dataset b563ng6y6d3pjf6ycx7t52pqae: Traceback (most recent call last): File "/webapp/marv/suite/marv/marv/cli.py", line 405, in marvcli_run excluded_nodes, cachesize=cachesize) File "/webapp/marv/suite/marv/marv/site.py", line 351, in run deps=deps, cachesize=cachesize) File "/webapp/marv/suite/marv/marv_node/run.py", line 63, in run_nodes done, send_queue_empty = process_task(current, task) File "/webapp/marv/suite/marv/marv_node/run.py", line 352, in process_task return loop() File "/webapp/marv/suite/marv/marv_node/run.py", line 242, in loop promise = current.send(send) File "/webapp/marv/suite/marv/marv_node/driver.py", line 89, in _run request = gen.send(send) File "/webapp/marv/suite/marv/marv_node/node.py", line 243, in invoke send = yield gen.send(send) File "/webapp/marv/suite/robotics/marv_robotics/bag.py", line 171, in bagmeta xx NameError: global name 'xx' is not defined 2018-02-01 09:58:10,992 ERRO marv.cli Error occurred for dataset b563ng6y6d3pjf6ycx7t52pqae: global name 'xx' is not defined one can enter pdbpp by running ``PDB=1 marv`` instead of ``marv``: .. code-block:: console $ PDB=1 marv run --node bagmeta b563ng6y6d3 --force 2018-02-01 13:04:41,524 INFO rospy.topics topicmanager initialized 2018-02-01 13:04:41,979 INFO marv.run b563ng6y6d.bagmeta.dwz4xbykdt.default (bagmeta) started with force NameError("global name 'xx' is not defined",) /webapp/venv/lib/python2.7/site-packages/IPython/core/debugger.py:243: DeprecationWarning: The `color_scheme` argument is deprecated since version 5.1 DeprecationWarning) > /webapp/marv/suite/robotics/marv_robotics/bag.py(171)bagmeta() 170 end_time = 0 --> 171 xx 172 connections = {} (Pdb++) Likewise pdb can be used by placing ``import pdb; pdb.set_trace()`` anywhere in the code. .. code-block:: console $ marv run --node bagmeta b563ng6y6d3 --force 2018-02-01 13:08:14,235 INFO rospy.topics topicmanager initialized 2018-02-01 13:08:14,633 INFO marv.run b563ng6y6d.bagmeta.dwz4xbykdt.default (bagmeta) started with force /webapp/venv/lib/python2.7/site-packages/IPython/core/debugger.py:243: DeprecationWarning: The `color_scheme` argument is deprecated since version 5.1 DeprecationWarning) > /webapp/marv/suite/robotics/marv_robotics/bag.py(172)bagmeta() 171 import pdb; pdb.set_trace() --> 172 connections = {} 173 for path in paths: (Pdb++) For more information see https://github.com/antocuni/pdb