标签: pdb

无法覆盖sys.excepthook

我尝试自定义配方sys.excepthook描述的行为.

在ipython中:

:import pdb, sys, traceback
:def info(type, value, tb):
:    traceback.print_exception(type, value, tb)
:    pdb.pm()
:sys.excepthook = info
:--
>>> x[10] = 5
-------------------------------------------------
Traceback (most recent call last):
  File "<ipython console>", line 1, in <module>
NameError: name 'x' is not defined
>>>
Run Code Online (Sandbox Code Playgroud)

pdb.pm()没有被召唤.它似乎sys.excepthook = info在我的python 2.5安装中不起作用.

python debugging ipython pdb

9
推荐指数
2
解决办法
3091
查看次数

反正有没有让pdb和Mac终端很好地玩?

在调试我的django应用程序时,我使用pdb进行交互式调试pdb.set_trace().

但是,当我修改文件时,本地django webserver重新启动,然后我无法看到我在终端中输入的内容,直到我输入reset.

无论如何这是自动发生的吗?它可能真的很烦人,必须取消runserver并重置并重新启动它.我被告知它不会发生在其他操作系统(ubuntu)上,所以无论如何都要让它不会发生在Mac上吗?(我正在使用Snow Leopard).

python django macos terminal pdb

9
推荐指数
1
解决办法
1308
查看次数

"语法错误:解析时出现意外的EOF",同时在PDB中迭代字典

pdbGET请求中设置了跟踪.我想打印请求对象的所有属性.我在pdb中尝试以下内容:

(Pdb) request
<GET /foo HTTP/1.1>
(Pdb) for d in dir(request):
*** SyntaxError: unexpected EOF while parsing (<stdin>, line 1)
Run Code Online (Sandbox Code Playgroud)

我相信我在这里缺少一些基本的东西.

python twisted pdb

9
推荐指数
2
解决办法
5275
查看次数

PostSharp之后pdb文件正在消失

我正在使用PostSharp版本2.1.6.4(也尝试了最新版本2.1.7.35),有时pdb文件丢失,并且有一个pssym文件.

<?xml version="1.0" encoding="utf-8"?>
<Symbols xmlns="http://schemas.postsharp.org/2.0/symbols">
  <Class Class="#1=T:[CrosscuttingLogging]CrosscuttingLogging.Attributes.LogMethodCallStatsAttribute" LimitedLicense="true" />
  <Class Class="#2=T:[RequestLimiter]RequestLimiter.RequestCounterAttribute" LimitedLicense="true" />
</Symbols>
Run Code Online (Sandbox Code Playgroud)

我在构建过程中运行procmon,据我所知,postsharp.srv.4.0-x86.exe进程将dll和pdb文件从obj\Debug文件夹移动到obj\Debug\Before-PostSharp文件夹,然后在文件夹中生成一个新的dll obj\Debug,但是没有生成新的pdb文件.

对于我的一些dll(看似随机)会发生这种情况并且似乎不可靠,因为在其他机器上所有pdb文件都是正确生成的.

c# msbuild postsharp pdb visual-studio-2015

9
推荐指数
2
解决办法
2625
查看次数

pdb中的'n'将我移到pdb.set_trace()方法中

我正在尝试使用从另一个stackoverflow问题引用的本教程来学习pdb ,而我正处于"入门"部分的第3步.

In [12]: %paste
# epdb1.py -- experiment with the Python debugger, pdb
import pdb
a = "aaa"
pdb.set_trace()
b = "bbb"
c = "ccc"
final = a + b + c
print final
## -- End pasted text --
--Return--
> <ipython-input-12-48afa1c7ad72>(4)<module>()->None
-> pdb.set_trace()


(Pdb) l
  1     # epdb1.py -- experiment with the Python debugger, pdb
  2     import pdb
  3     a = "aaa"
  4  -> pdb.set_trace()
  5     b = "bbb"
  6     c = "ccc" …
Run Code Online (Sandbox Code Playgroud)

python ipython python-2.7 pdb

9
推荐指数
1
解决办法
977
查看次数

调试Cython时打印变量时出错

我正在尝试使用gdb调试一些Cython代码,这些代码包含要从Python调用的C++代码.我按照文档中的说明进行操作,但是在调试时遇到了一些与我的代码无关的错误.例:

(gdb) cy print some_variable
Python Exception <type 'exceptions.AttributeError'> 'PyDictObjectPtr' object has no attribute 'items':
Error occurred in Python: 'PyDictObjectPtr' object has no attribute 'items'
Run Code Online (Sandbox Code Playgroud)

我有时也会得到这个(通常在第一个之后):

Python Exception <class 'gdb.error'> There is no member named ob_sval.:
Error occurred in Python command: There is no member named ob_sval.
Run Code Online (Sandbox Code Playgroud)

为了调试代码我用Docker创建了一个环境:

FROM debian

RUN apt-get update && apt-get upgrade -y && apt-get install -y \
  build-essential gdb-python2 python-dbg python-dev \
  python-pip python-numpy-dbg

RUN pip install cython pygments

CMD bash
Run Code Online (Sandbox Code Playgroud)

我在cython-users google …

python gdb cython gdb-python pdb

9
推荐指数
1
解决办法
202
查看次数

安装CMake的PDB文件

我正在使用CMake命令安装PDB文件,以便在我的C++应用程序的开发人员分发中启用调试.命令如下:

INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/Debug
    DESTINATION bin
    FILES_MATCHING
    PATTERN *.pdb
)
Run Code Online (Sandbox Code Playgroud)

此外,我已经设法在同一级别的'src'文件夹中安装用于构建开发人员分发的相关源,以便我的顶级分发文件夹看起来像:

include\
src\
lib\
bin\
share\
doc\
3rdparty\
etc\
Run Code Online (Sandbox Code Playgroud)

如何让PDB文件"知道"源的位置(我假设这是必需的)?是否有可以实现此目的的CMake命令?什么是一个小例子?

c++ windows cmake visual-studio pdb

8
推荐指数
2
解决办法
7717
查看次数

在 pdb 模式下运行 shell 命令

我想运行cd,并ls在Python调试器。我尝试使用!ls但我得到

*** NameError: 名称 'ls' 未定义

python shell pdb

8
推荐指数
2
解决办法
3275
查看次数

无法加载使用Ngen为Native Image DLL创建的符号

我正在调查崩溃的程序,但无法在Visual Studio 2013中加载本机映像DLL的符号.该应用程序是32位并使用.NET 4.0.30319.我通过从模块窗口检查加载到进程中的clr.dll版本来确认这一点.同样从模块窗口,我检查了加载mscorlib.ni.dll的位置:

clr.dll C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
mscorlib.ni.dll C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\ce5f61c5754789df97be8dc991c47d07\mscorlib.ni.dll    
Run Code Online (Sandbox Code Playgroud)

我能够成功生成mscorlib.ni.dll的PDB:

Ngen mscorlib.ni.dll输出

但是当我尝试通过右键单击mscorlib.ni.dll的堆栈框架并选择加载符号将其加载到VS 2013中时,我收到一条消息,上面写着"在此文件夹中找不到匹配的符号文件".

我看了看:

创建用于分析报告的Ngen Pdbs / 并遵循生成PDB的简单指令,因为我只想在此时看到函数调用,

为Windbg获取正确的.net本地symols

如何获取mscorlib.ni.lib的PDB文件(.Net Framework 3.5)

看起来最常见的错误来源是选择正确的位数.我从模块选项卡中知道我正在加载mscorlib.ni.dll的32位变体,再次从我的屏幕截图中,你可以看到我使用的是相同版本的.NET框架和32位版本的Ngen.exe.我为WindowsBase.ni.dll尝试了这个,并且看到了我成功生成PDB但无法加载它的相同行为.

我已启用调试器以及时调试托管和本机代码.

问题:

  1. 我是否使用了错误版本的ngen.exe来创建此PDB?
  2. Visual Studio在尝试加载PDB时检查什么?
  3. 我需要在VS中启用一些其他设置来调试这种类型的代码吗?

谢谢!

debugging ngen native-code pdb

8
推荐指数
0
解决办法
794
查看次数

如何在python中调试导致后续异常的堆栈跟踪?

Python(和 ipython)具有非常强大的事后调试功能,允许在回溯的每个范围内进行变量检查和命令执行。up/down 调试器命令允许更改最终异常的堆栈跟踪的帧,但是__cause__按照raise ... from ... 语法定义的那个异常呢?

Python 3.7.6 (default, Jan  8 2020, 13:42:34) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.11.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: def foo(): 
   ...:     bab = 42 
   ...:     raise TypeError 
   ...:                                                                                                                                      

In [2]: try: 
   ...:     foo() 
   ...: except TypeError as err: 
   ...:     barz = 5 
   ...:     raise ValueError from err 
   ...:                                                                                                                                      
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-dd046d7cece0> in <module>
      1 try: …
Run Code Online (Sandbox Code Playgroud)

python ipython python-3.x pdb ipdb

8
推荐指数
1
解决办法
500
查看次数