标签: traceback

如何在 python 中恢复较旧的回溯?(例如倒数第二)

我相信你发现自己处于这种情况,我怀疑没有办法摆脱这种情况。假设您运行了一些引发异常的 python 代码,然后您想查看它,但在这样做时不小心引发了另一个异常。如果您现在尝试事后调试,您将看到后一个异常的回溯。我的问题是,前者会永远消失吗?

例子:

def my_buggy_function(x):
    y = x + 1
    raise RuntimeError
Run Code Online (Sandbox Code Playgroud)

第 1 步:我提出了一个错误,我想对其进行调试

my_buggy_function(1)


---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
/home/user/<ipython-input-1-430423eaff77> in <module>()
      3     raise RuntimeError
      4 
----> 5 my_buggy_function(1)

/home/user/<ipython-input-1-430423eaff77> in my_buggy_function(x)
      1 def my_buggy_function(x):
      2     y = x + 1
----> 3     raise RuntimeError
      4 
      5 my_buggy_function(1)

 RuntimeError: 
Run Code Online (Sandbox Code Playgroud)

第 2 步:我尝试调试错误但不小心引发了另一个错误(在这种情况下,我没有加载 pdb)

 pdb.pm() #Oops..

 ---------------------------------------------------------------------------
 NameError                                 Traceback (most recent call last)
 /home/user/<ipython-input-2-619d77b83f20> in <module>()
 ----> 1 pdb.pm()

 NameError: name 'pdb' is not …
Run Code Online (Sandbox Code Playgroud)

python debugging ipython traceback pdb

5
推荐指数
1
解决办法
498
查看次数

为什么我在 python 中不断收到这个大错误。回溯(最近一次调用最后一次)..... 和 AttributeError

我一直在学习 python 并从互联网上获取不同的东西并将它们全部放入我正在制作的这个游戏中:“你醒来......”这是一个基于文本的 assci RPG(滚动游戏)。它一直有效,直到我收到此错误:

Traceback (most recent call last):
  File "C:\Users\William\Desktop\Programming\Programs\You wake up\main.py", line 16, in <module>
    import helper
  File "C:\Users\William\Desktop\Programming\Programs\You wake up\helper.py", line 13, in <module>
    import main
  File "C:\Users\William\Desktop\Programming\Programs\You wake up\main.py", line 103, in <module>
    init()
  File "C:\Users\William\Desktop\Programming\Programs\You wake up\main.py", line 41, in init
    game_text()
  File "C:\Users\William\Desktop\Programming\Programs\You wake up\main.py", line 77, in game_text
    helper.way_out_quest()
AttributeError: 'module' object has no attribute 'way_out_quest'
Run Code Online (Sandbox Code Playgroud)

这是主文件(main.py):

#-------------------------------------------------------------------------------
# Name:        main.py
# Purpose:     An RPG (Roll playing game) where you wake up …
Run Code Online (Sandbox Code Playgroud)

python module file attributeerror traceback

5
推荐指数
1
解决办法
2万
查看次数

python opencv cv2.waitkey错误

我正在尝试测试以下入门页面的代码:

import numpy as np
import cv2   
img = cv2.imread('test.jpg', 0)
cv2.imshow('image', img)
cv2.waitkey(0)&0xFF
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

但我得到了这个错误:

init done 
opengl support available 
Traceback (most recent call last):
  File "showimg.py", line 5, in <module>
    cv2.waitkey(0)&0xFF
AttributeError: 'module' object has no attribute 'waitkey'
Violación de segmento
Run Code Online (Sandbox Code Playgroud)

我执行了opencv安装附带的示例,它们运行正常.此外,使用Matplotlib的最后一个示例工作正常.

¿任何错误的想法?,¿任何建议?

python opencv traceback

5
推荐指数
1
解决办法
1万
查看次数

TypeError:强制转换为Unicode,需要字符串或缓冲区,找到NoneType

目前为程序编写函数,一个组件是搜索python文件中是否正在使用单个变量.

功能:

def SINGLE_CHAR_VAR(python_filename):
    file = open(python_filename)
    lines = [0]
    SINGLE_CHAR_VAR = []
    for line in file:
        stripped = line.strip('\n\r')
        lines.append(stripped)

    from utils import vars_indents
    variable_list = (vars_indents(python_filename))[0]
    for i in range(1, len(variable_list)):
        if len(variable_list[i][0][0]) == 1:
            SINGLE_CHAR_VAR.append(['SINGLE_CHAR_VAR', i, variable_list[i][0][1], variable_list[i][0][0], lines[i]])      
    return SINGLE_CHAR_VAR?
Run Code Online (Sandbox Code Playgroud)

当我单独使用该功能时 - 该功能正常工作.但是,当我作为一个整体调用该程序时 - 我收到以下错误消息:

Traceback (most recent call last):
  File "<web session>", line 1, in <module>
  File "lint_2.py", line 141, in lint
    sorted_error_list = sorted_list(list_of_file_errors)
  File "lint_2.py", line 84, in sorted_list
    error_list = total_error_list(python_filename)
  File …
Run Code Online (Sandbox Code Playgroud)

python function typeerror traceback nonetype

5
推荐指数
1
解决办法
3万
查看次数

RuntimeError:创建新内容类型时出错

Operations to perform:
  Synchronize unmigrated apps: google, staticfiles, twitter, messages, reflect, allauth, facebook, rest_framework, crispy_forms
  Apply all migrations: account, django_comments, links, sessions, admin, fluent_comments, sites, auth, contenttypes, socialaccount
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  No migrations to apply.
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\Home\venv\lib\site-packages\django\core\management\__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "C:\Users\Home\venv\lib\site-packages\django\core\management\__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Home\venv\lib\site-packages\django\core\management\base.py", line 390, in run_from_argv
    self.execute(*args, **cmd_options) …
Run Code Online (Sandbox Code Playgroud)

python django traceback python-2.7

5
推荐指数
1
解决办法
2347
查看次数

更改 python 的默认回溯行为包括项目路径中的更多代码?

我正在运行一个中等大小的 django 项目,每当发生错误时都会打印回溯,但许多功能在 Django 模块中。

但是我自己的项目代码中的真正罪魁祸首,它只有一行,并且由于回溯深度限制而隐藏了有用的上下文。所以我想通过模块路径而不是调用深度来过滤调用堆栈。

如果您还没有看到这个问题,我在 Java 中一个非常相似的例子。我需要的是确保业务逻辑代码在异常中预先显示。

虽然我知道traceback.print_exc(),但是您需要将每个代码都包装在try ... except.

是否可以更改 python 的默认回溯行为,以便 django 的调用堆栈更少,而我自己的代码部分更大?

python django error-handling callstack traceback

5
推荐指数
1
解决办法
414
查看次数

traceback.print_stack() 使用 IPython 的 ultratb

出于调试/记录目的,我想将完整堆栈写入文件(例如在此问题中)。我可以使用traceback.format_stack(). 但是,我希望它看起来像IPython输出的更详细的回溯,例如,格式化为IPython.core.ultratb.VerboseTB.

看起来类和方法IPython.core.ultratb需要有关异常的信息,因为它们是为回溯而设计的。但我也不例外:我只想以冗长的方式显示堆栈。

如何使用 的输出方法IPython.core.ultratb.VerboseTB来格式化堆栈,例如报告的traceback.extract_stack()inspect.stack()

python debugging stack-trace ipython traceback

5
推荐指数
1
解决办法
1068
查看次数

rstudio 的 traceback() 不再以交互方式工作

我刚开始在 rstudio 中进行调试。一开始,一切都按照这里的描述进行。

在此处输入图片说明

使用 后browser(),我无法回到此状态,这意味着没有交互字段,我可以在其中按hide tracebackreturn with debug按钮。有谁知道,出了什么问题?

RStudio 版本

平台 x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 2.2
year 2015
month 08
day 14
svn rev 69053
language R
version.string R version 3.2.2 ( 2014)-0安全昵称

如果您还需要所有options()设置,请告诉我。

2018 年 11 月编辑:运行带有错误的脚本,交互式回溯处于活动状态。

getOption("error")
(function () 
{
    .rs.recordTraceback(FALSE, 5, .rs.enqueueError)
})()
Run Code Online (Sandbox Code Playgroud)

销毁交互式回溯(不知道,我做了什么):

getOption("error")
(function () 
{ …
Run Code Online (Sandbox Code Playgroud)

r traceback rstudio

5
推荐指数
1
解决办法
1502
查看次数

堆栈帧和执行帧有什么区别?

我无法理解堆栈帧和执行帧之间的差异,主要是关于tracebackinspect模块(在Python 3中).

我以为他们是相同的,但文档意味着他们不作为的方法inspect模块返回帧的对象,而方法的traceback模块不(即inspect.stack()VS traceback.print_stack().

从谷歌搜索,我知道堆栈帧是一个包含子程序状态信息(函数调用和参数数据)的数据结构.但是,根据文档,执行框架是类似的:

执行框架包含一些管理信息(用于调试),确定在代码块执行完成后执行继续的位置和方式,并且(可能最重要的)定义影响代码执行的两个名称空间,即本地名称空间和全局名称空间块.

那么堆栈帧和执行帧之间究竟有什么区别呢?

python stack-frame inspect traceback

5
推荐指数
0
解决办法
327
查看次数

Python中的回溯对象的类型是什么?

import sys

try:
    raise Exception('foobar')
except:
    info = sys.exc_info()

print(type(e[2])) # <class 'traceback'>
help(traceback) # NameError: name 'traceback' is not defined
Run Code Online (Sandbox Code Playgroud)

Python用于异常报告的回溯对象的类型究竟是什么?

sys.exc_info上的文档提到了参考手册,但是虽然我发现了很多关于如何操作回溯实例的信息,但我希望能够访问类型(类)本身.

python exception traceback

5
推荐指数
1
解决办法
1346
查看次数