mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-06 12:20:52 +01:00
Summary:
This is something which I wrote because it was useful during my debugging sessions, but I think it might be generally useful to other people as well so I took the liberty of proposing an official `pytorch-gdb` extension.
`pytorch-gdb` is a gdb script written in python. Currently, it contains only one command: `torch-tensor-repr`, which prints a human-readable repr of an `at::Tensor` object. Example:
```
Breakpoint 1, at::native::neg (self=...) at [...]/pytorch/aten/src/ATen/native/UnaryOps.cpp:520
520 Tensor neg(const Tensor& self) { return unary_op_impl(self, at::neg_out); }
(gdb) # the default repr of 'self' is not very useful
(gdb) p self
$1 = (const at::Tensor &) 0x7ffff72ed780: {impl_ = {target_ = 0x5555559df6e0}}
(gdb) torch-tensor-repr self
Python-level repr of self:
tensor([1., 2., 3., 4.], dtype=torch.float64)
```
The idea is that by having an official place where to put these things, `pytorch-gdb` will slowly grow other useful features and make the pytorch debugging experience nicer and faster.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/54339
Reviewed By: bdhirsh
Differential Revision: D27253674
Pulled By: ezyang
fbshipit-source-id: dba219e126cc2fe66b2d26740f3a8e3b886e56f5
15 lines
653 B
Plaintext
15 lines
653 B
Plaintext
# automatically load the pytoch-gdb extension.
|
|
#
|
|
# gdb automatically tries to load this file whenever it is executed from the
|
|
# root of the pytorch repo, but by default it is not allowed to do so due to
|
|
# security reasons. If you want to use pytorch-gdb, please add the following
|
|
# line to your ~/.gdbinit (i.e., the .gdbinit file which is in your home
|
|
# directory, NOT this file):
|
|
# add-auto-load-safe-path /path/to/pytorch/.gdbinit
|
|
#
|
|
# Alternatively, you can manually load the pytorch-gdb commands into your
|
|
# existing gdb session by doing the following:
|
|
# (gdb) source /path/to/pytorch/tools/gdb/pytorch-gdb.py
|
|
|
|
source tools/gdb/pytorch-gdb.py
|