mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
gdb special command to print tensors (#54339)
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
This commit is contained in:
committed by
Facebook GitHub Bot
parent
583c4bf7d3
commit
21a9a93eb4
14
.gdbinit
Normal file
14
.gdbinit
Normal file
@ -0,0 +1,14 @@
|
||||
# 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
|
Reference in New Issue
Block a user