首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的python脚本可以正常运行,但当我试图跟踪它时却不能?

当你的Python脚本可以正常运行,但无法跟踪时,可能是由于以下几个原因:

  1. 调试器配置问题:确保你的调试器正确配置并与Python解释器兼容。不同的调试器可能需要不同的设置和插件才能正常工作。你可以查阅调试器的文档或社区来获取更多信息。
  2. 代码中的错误:在脚本中可能存在语法错误、逻辑错误或运行时错误,这些错误可能导致脚本无法正常跟踪。在调试之前,建议先确保代码本身没有错误,可以通过运行单元测试或逐行检查代码来排除这种可能性。
  3. 调试器与脚本交互问题:有时,调试器可能无法正确地与脚本进行交互,导致无法跟踪。这可能是由于脚本中使用了特定的库或框架,而调试器无法正确处理。在这种情况下,你可以尝试使用其他调试器或查找特定库或框架的调试技巧。
  4. 环境配置问题:某些情况下,特定的环境配置可能导致调试器无法正常工作。例如,Python解释器版本不兼容、缺少必要的依赖项或环境变量设置不正确等。确保你的环境配置正确,并根据需要进行调整。

总结起来,当你的Python脚本可以正常运行但无法跟踪时,可能是由于调试器配置问题、代码中的错误、调试器与脚本交互问题或环境配置问题所致。你可以逐一排查这些可能性,并根据具体情况采取相应的解决措施。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

万能 Java

不到一年间,几件事情让想法来了一个180度大转弯: 在一家公司里,写了一个模拟器,这样就可以 Java 服务独立运行而无需一个全功能网站。...在这个模拟器中,运行一些脚本测试包括失败在内不同情景。...认为使用脚本语言可以让我们和测试人员很容易地编写测试。一位名叫 Justin Lebar 实习生认为我们应该只使用 Java。模拟器是用 Java 写,测试脚本为什么不用 Java 呢?...因此,新思路就是:做任何事都用 Java。不要试图使用 Python 写一些可以快速实现黑客代码,因为: 你无法从使用主要编程语言开发项目中复制和黏贴代码。...但是你知道吗,Java 是一门相当好语言,当我进行代码编译,往往在第一间,通常会正确地运行。任何其它语言都没有像 Java 那样给予心灵上宁静。

89930

GitHub日收12000星,六个命令行工具引爆程序员圈!

当进入目录,DirEnv会加载和卸载.env文件;这点和smartcd类似。允许在更改到特定路径时运行shell脚本——这让用户可以启动和停止服务,更改提示符,或任何用户想要内容。...这意味着,当我进入这个Jekyll博客(一个ruby开发博客系统)目录已经加载了新别名,用于创建新文章、检查标记、拉入图像等等。...而Zoxide——下面要介绍工具——也能做到这一点。此外,FZF会干扰McFly CTRL-R,必须注释掉FZF初始化脚本这一行以使McFly正常工作。...然而,有许多工具试图改进cd、autojump、z和Fasd所有跟踪目录使用情况,并为你提供一个简单快捷键来更改到常用访问目录。...在Git分支上工作喜欢经常提交工作。 例如,在试图删除博客文章中一些巨大文本块之前,或者在尝试重构一些代码片段之前,我会提交工作。

47520

为什么Python这么慢?

Python指的是CPython这个官方解释器。...也将在本文中提及其他解释器。 想要回答这样一个问题:当运行同一个程序时,为什么Python会 比其他语言慢2到10倍?为什么我们无法将它变得更快?...如果一个进程是CPU密集型,那么其负载可以被多核同时处理,从而有效提高大多数应用速度。 当我写这篇文章Chrome浏览器同时拥有44个线程。...众所周知,Java虚拟机启动速度很慢。为了解决这个问题,.NET CLR在系统启动时候就开始运行CLR开发人员还开发了专门运行CLR操作系统来加快。...我们可以运行时替换对象中方法,也可以胡乱地把低级系统调用赋给一个值。几乎怎么修改都可以。 正是这种设计使得优化Python变得异常困难。 为了阐明观点,将使用一个MacOS中应用。

1.1K40

Python编程语言核心是什么?

我们与CPython一起生活了这么长时间,怀疑我们中大多数人只是简单地认为“Python == CPython”。PyPy试图做到兼容,以便实现CPython实现细节。...真正让开始思考这个问题当我开始思考如何将Python编译成WebAssembly?...这就意味着在其他代码内存空间中并不存在运行任意代码结构,这可能会使REPL实现变得棘手。 这让思考:Python真的需要REPL吗?...您可以通过检查是否在每一行后面设置了跟踪函数来伪造,但是当您大多数时候没有设置这样钩子时,这样做似乎有点过分(不过,它可能是在这种支持下编译编译器标志)。 那么sys._getframe()呢?...但是答案说明了实现Python难度以及它与现有软件兼容性。想说是,认为WebAssembly不需要支持大量Python软件就可以发挥作用。

1.3K20

基于OpenCV数字识别系统

包括各种图像处理实用程序以及某些机器学习功能。除此之外我们希望可以先使用Python对其进行原型设计,然后将处理代码转换为C ++以在iOS应用程序上运行。...这有点试验和错误,注意到,当我们调整图像曝光度可以获得更好结果。...一旦基本图像隔离功能开始工作,就创建了一个脚本,该脚本可以遍历图像文件夹,运行数字隔离代码,然后将裁剪数字保存到新文件夹中供查看。...现在,当我训练数字将获得NumPy文件供Python测试使用,然后获取一个JSON文档,可以将其拖到我iOS应用程序中。您可以在此处看到该代码。...该脚本在计算机上花费了相当长时间才能运行,大约需要7个小时,但是最后提出了一组不同变量,这些变量在我们手动测试找不到。

1.2K20

2021 年 Python 好与坏

在企业里,任何 bash 脚本超过 20 行,评审人员就会抱怨;不是在指责他们。 X 是一个很棒库,如果它不支持 Python连试也不会试。像这样评论,见过许多次了。...,只是为了学习新东西 就在两周前,升级了一个库(需要使用一个比较新特性;另见下文向后兼容性),原本可以正常运行代码就不正常了。...当我在写书发现,与其帮助人们安装 Python,还不如提供一个什么都装好了 5GB 虚拟机,那样更简单(许多其他作者也是这样做虚拟机文件夹一度有 60 到 80GB,全都是针对 Python...现在,Python 精英人士会居高临下地说:嘿,伙计,你应该使用 *#@% 等来简化自己工作。 初学者一个都不知道(说真的,难道他们真要为了测个脚本去学习那些东西吗?)。...9 年了),到现在还能正常运行

44810

如何在Linux上获得错误段核心转储

步骤1:运行 valgrind 发现找出为什么程序出现段错误最简单方式是使用 valgrind:运行 1. valgrind -v your-program 这给了我一个故障堆栈调用序列...当您程序出现段错误,Linux 内核有时会把一个核心转储写到磁盘。 当我最初试图获得一个核心转储很长一段时间非常沮丧,因为 – Linux 没有生成核心转储!核心转储在哪里?...一旦这样做了,当我执行 bt ,gdb 给了我一个带有行号漂亮堆栈跟踪! 如果你想它能工作,二进制文件应该以带有调试符号信息方式被编译。...在未来如果能让 ASAN 工作,可能会多写点有关东西。(LCTT 译注:这里指使用 ASAN 也能复现段错误) 从一个核心转储得到一个堆栈跟踪真的很亲切!...这个博客听起来很多,当我做这些时候很困惑,说真的,从一个段错误程序中获得一个堆栈调用序列不需要那么多步骤: ☉ 试试用 valgrind 如果那没用,或者你想要拿到一个核心转储来调查: ☉ 确保二进制文件编译带有调试符号信息

4K20

提高 Python 代码可读性 5 个基本技巧

不知道小伙伴们是否有这样困惑,当我们回顾自己 6 个月前编写一些代码,往往会看一头雾水 Python 中有许多方法可以帮助我们理解代码内部工作原理,良好编程习惯,可以使我们工作事半功倍!...Comments 我们可以对我们代码做第一件事是为我们代码添加某些注释,但是却不能过度使用它。注释应该告诉你为什么代码可以工作或者为什么某事以某种方式完成,而不是它是如何工作。...Explicit Typing Python 语言是动态类型,这意味着变量类型只会在运行时检查。此外,变量可以在代码执行期间更改类型。...当我们从代码中其他地方调用函数,拥有文档字符串也是非常有帮助。例如,使用 Visual Studio 编辑代码可以将鼠标悬停在函数调用上,然后查看该函数功能及其要求弹出窗口。...Readable Variable Names 很多时候,当我们编写代码,不会太在意变量名称,尤其是当我们急于完成某些功能

65820

笨办法学 Python3 第五版(预览)(一)

注意,当我运行给了first 2nd,这导致出现了一个关于“需要超过 3 个值来解包”错误,告诉你没有给足够参数。 学习练习 尝试给你脚本提供少于三个参数。看看你会得到什么错误?...你可能需要用其他东西替换使用argv代码,比如一些变量。 常见学生问题 当我运行这个脚本收到 SyntaxError: invalid syntax。...小时候有过。 当我运行收到 NameError: name 'prompt' is not defined。你要么拼错了prompt变量名称,要么忘记了那一行。...然后你可以输入代码,Python 会逐段运行。尝试一下。要退出,请输入quit()并按 Enter。 为什么我们打开文件两次没有错误? Python 不会限制你多次打开文件,有时这是必要。...当我试图缩短这个脚本,在结尾关闭文件出现错误。

14810

10个顶级 Python 库,推荐你试试!

为什么喜欢Python?对于初学者来说,这是一种简单易学编程语言,另一个原因:大量开箱即用第三方库,正是23万个由用户提供软件包使得Python真正强大和流行。...对来说,这是它最好功能之一。如果需要使用JSON,可以考虑使用Python。 JMESPath使Python处理JSON更加容易,允许您明确地指定如何从JSON文档中提取元素。...Homeassistant home assistant是一个运行python 3上家庭自动化平台。它能够在家里对所有设备进行跟踪和控制,为自动化控制提供了一个平台。...大多数灯具都是自动化,百叶窗也是如此。 监视我们天然气用量,电力用量和产量(太阳能电池板)。 可以跟踪大多数电话位置,并在进入一个区域开始操作,例如当我回家打开车库灯。...尽管它具有完善游戏引擎,您也可以使用此库直接从Python脚本播放MP3文件。 如果你觉得文章还不错,请大家 点赞、分享、关注 下,因为这将是持续输出更多优质文章最强动力!

2.8K30

从卡片到云端:开发者工具家族树

然后,当我看到 Ian Miell 为演示文稿制作图表(他是 Container Solutions 合伙人)立刻意识到它将成为一个很好设备,可以用来记录一些历史。...虽然像 Microsoft Windows 这样图形用户界面 (GUI) 帮助在普通民众中普及了谁可以使用计算, shell 脚本 是程序员第一次看到一个进程如何可以通过一系列命令来控制,*以及这如何成为程序代码本身一个独立域...SQL 是声明式语言一个很好例子,因为我们陈述了我们想要创建或看到内容,没有确切地提及如何或在哪里(甚至为什么应该发生。这开启了计算机成为计算工具道路,这两者仍然保持着微妙独立性。...可以系统地理解“主分支”和当前“发布分支”之间差异。这是在协作保持理智主要技术。分支可以与环境(如暂存、测试和生产)相结合。...记得有人创建了物理交通信号灯来显示我们中央构建是否正常工作。周五晚上试图在交通信号灯为红色时下班是件糟糕事情,并且让人们养成了在周末结束不提交破坏性更改习惯。

11910

PyTorch攻势凶猛,程序员正在抛弃TensorFlow?

不是 PyTorch 需要担心未来,而是 TensorFlow。 为什么研究人员喜欢 PyTorch? 简单。...研究人员将在自己计算机或专用于运行研究工作服务器集群上进行实验。另一方面,行业有很多限制/要求。 没有 Python。一些公司使用服务器在 运行 Python 开销太大。 移动。...你可以使用跟踪脚本模式将常规 PyTorch 模型转换为 TorchScript。跟踪采用一个函数和一个输入,记录使用该输入执行操作,并构造 IR。跟踪虽然简单明了,但也有其缺点。...例如,无法捕获未执行控制流。再如,如果执行条件块,则无法捕获条件块错误块。 脚本模式采用一个函数/类,重新解 释Python 代码并直接输出 TorchScript IR。...跟踪从根本上受到限制,并且重新解释 Python 代码本质上需要重写许多 Python 编译器。当然,通过限制深度学习中使用 Python 子集,可以大大缩小范围。

53900

【翻译】请停止编写 shell 脚本

/bin/bash touch newfile cp newfil newfile2 # Deliberate typo echo "Success" 当我运行,你认为会发生什么?...将此与 Python 进行比较,其中异常会阻止以后代码运行。 您可以通过添加set -e到 shell 脚本顶部来解决此问题: #!...当我运行: $ bash bad3.sh bad3.sh: line 3: nonexistentprogram: command not found Success!...当我运行: $ bash bad4.sh bad4.sh: line 3: nonexistentprogram: command not found Success! 这是怎么回事?...因此,如果您正在编写一些打包或启动脚本,那么很容易使用您知道会出现工具。 问题是,如果你正在打包一个 Python 应用程序,你几乎可以保证开发环境、CI 和运行时环境都安装了 Python

2.3K21

笨办法学 Python · 续 练习 0:起步

当你拥有 100 个另外 10x 开发人员,它们编写更多技术债务,你无法处理时候,这真是太棒了。当你试图学习,这是一个糟糕功能。...你可以使用任何你喜欢东西,本书中一部分过程是在计算机外部跟踪事件,在解决问题,作为改变你观点一种方式。...github.com将会提供大量信息,有关如何以及在哪里获取请观看视频,来了解如何为你平台最佳安装。...也认为,在工作记录你实际脸部和身体,有助于检查你是否拥有良好姿势或其他身体习惯,它们可能会使身体损伤,同样,工作记录自己一整天太麻烦了。这也是你不能与其他人一起做事情。...如果你已经安装了某些东西,那么视频会有一些东西,可以确认你工具是否正常运行。观看来确保你可以遵循本书其余部分。

52730

热度碾压 Java、C#、C++ Python为什么速度那么慢?

希望回答以下问题:如果 Python 完成相同任务要花费其他语言二至十倍时间,那么它为什么慢,能不能更快一些呢?...02 “因为它是解释语言” 这条理由我也听过很多,发现过于简化了 CPython 实际工作原理。...不仅你编写脚本是这样,所有你导入代码都是这样,包括第三方模块。 因此绝大多数情况下(除非你写代码只会运行一次),Python是在解释字节码并在本地执行。...而提前编译(Ahead of Time,简称AOT)是编译器把源代码翻译成CPU能理解代码之后再执行。 JIT本身并不能让执行更快,因为执行是同样字节码序列。但是,JIT可以运行时做出优化。...你可以运行时替换对象方法,可以运行时给底层系统调用打补丁。几乎一切都有可能。 而这种设计使得Python优化变得很困难。

1.6K10

AI 如何助力 Cassandra 六周添加向量搜索功能

早在 4 月份,当我问我们产品负责人首席副总裁谁会去构建,他说:“为什么你不做呢?” 和其他两名工程师着手在 6 周内,也就是 6 月 7 日交付一个新向量搜索实现。...其他时候,表现令人震惊地好,就像这个时候,它在第一次尝试中就找到了竞争条件。即使当表现不佳,拥有一个可以用貌似智能方式响应橡皮鸭调试伙伴也非常宝贵,可以保持思维状态,保持动力。...它将 GPT-4 Python 代码生成封装到类似 Jupyter 沙盒中,并进行循环以纠正自己错误。这里有一个例子,当我正在调查为什么索引代码构建了一个分区图。...需要注意主要问题是,当遇到意外输入时,ADA 倾向于“解决”问题是抛弃冒犯行,这通常不是你想要。一旦代码顺利运行到完成,通常对自己努力感到满意 - 你需要明确要求包含正常检查。...现在默认使用 ADA 进行所有操作,确实看起来有改进;唯一缺点是有时它会在想要 Java 开始为编写 Python

8210

聊聊微服务环境中可观察性和弹性

稍后,将讨论为什么我们很难找出系统中发生了什么变化。我们将讨论变更跟踪未来。最后,将提供一些有用提示,帮你减轻在今天现代化系统中跟踪变更遇到种种痛苦。 为什么关心变更?...那么首先,你为什么要关心变更?我们提到了跟踪以及停机时间和微服务成本之类东西。这些应该不是什么新鲜的话题,但对于某些公司来说,每个小时,甚至可以是每分钟都会出现问题。...一直在谈变更这个词,当我提到这个词真正意思是什么? 在这次演讲里会专门针对整个系统范围变更。那么当提到变更和系统变更真正意思是什么呢?...当你尝试解决一个问题,你角色就是侦探,并且基本上,你会尝试找出哪些变更可以解释,试着解释清楚你面对问题。 为什么很难找到变更? 那么,为什么我们很难找到系统中发生了哪些变更呢?...包括许多第三方服务,例如 Xero、你云提供商以及数十种不同 Rest API,你应用程序需要这些 API 才能正常运行

37020

如何利用虚假浏览器更新渗透MikroTik路由器实验

在最新攻击活动中,攻击者利用虚假浏览器更新页面来入侵路由器。当运行恶意更新,研究人员会解包代码到计算机中,计算机可以扫描网络中其他有漏洞路由器并尝试利用。...有趣是,此IP地址也被列为免费和开放Web代理: ? Payload分析 行为分析 Payload会伪装成一个名为upd_browser安装器。 ? 当我运行,它会弹出一个错误: ?...很容易猜测出exe文件其实是一个python脚本。 ? 脚本entry point名为updbrowser。...反编译脚本发现恶意软件核心是两个python脚本:updbrowser.py和ups.py。 脚本分析 该模块主要功能非常简单: ?...路由器中配置恶意脚本是基于HTTP请求错误。伪造错误页面是wile欺骗原始流量,以iframe方式展示请求页面。所以当用户浏览大多数web并不会注意到这一变化。比如: ?

1.6K20

开源项目被科技巨头拿去做产品了,只不过注释中删掉了名字

DTrace 全称 Dynamic Tracing,即动态跟踪,是由 Sun Microsystems 开发一个用来在生产和试验性生产系统上找出系统瓶颈工具,可以对内核和用户应用程序进行动态跟踪并且对系统运行不构成任何危险技术...当我忙着使用 DTrace 编写和发布高性能工具发现一个问题:此前开源 DTraceToolkit 和其他 DTrace 工具,比 Sun 公司推出工具要更全面,难道是一些内部项目消耗了他们技术能力...,但不适用于某些类型,脚本注释中对此进行了提示;没有包含在 DTraceToolkit 中,因为认为它还没有完成。...这也是为什么,在所有工具中最感兴趣是看到这个。Sun 公司应该可以做得更好,并实际应用这个工具。 「可以看下套接字 I/O 脚本吗?」然后启动了一个终端。...有一次,他们想重新获得 GPL 许可,便与我就此事进行了讨论,这是另一回事。 这也不是唯一一次有人无意中试图向我出售自己开发项目。

60730
领券