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

Python DeBug7个步骤【Programming】

知道,这是完全不现实情况,吧? 不幸是,日志或日志消息似乎经常在错误时间出现。...这意味着,不管这个程序当时在做什么,很明显,有些地方出了问题,这些问题都在底部。 3.总是先检查堆栈底部 您不仅可以在堆栈底部看到发生了哪个错误,而且通常堆栈最后一行也是您可以找到问题地方。...但是一旦开始处理复杂代码库,尤其是那些打网络电话代码库,打印就变得太慢了。最后发现到处都是印刷声明,不知道它们在哪里,为什么,事情变得复杂起来。但主要使用pdb还有一个更重要原因。...如果通过查看堆栈,您不知道一个调用是如何或者在哪里出错,那么在堆栈中找到属于您一些代码,并在该文件中放置一个断点,在堆栈跟踪中断点之上放置一行。再试一次测试。...7.寻求帮助 经常发现,仅仅写下所有的信息就会触发一些还没有尝试过事情想法。当然,有时候在点击提交按钮后,我会立即意识到问题所在。

1.2K00

以为发现了Android 14系统中一个bug,然而...

因为没有任何错误日志可以观察到这种现象是不应该印象中用法不正确的话是会直接导致应用程序崩溃。 但其实自己也记不太清楚了,写Android 14特性文章已经是去年3月份发布了。...那么此时你还使用上述代码选择照片,启动到底是谁Activity? 这种情况下,系统也不知道你到底想要启动谁,所以就只能弹出一个对话框,让用户自己去选择。...由此可以看出,恶意软件在这种场景下是有空子可以钻,因为必然会有用户选择错误。 那么为了解决这方面的安全隐患,Android 14隐式Intent使用做出了更多限制。...唯一问题就是,所使用的上述示例,在没有明确指定当前App包名情况会崩溃,而我同事guting却反馈说是没有任何错误日志可以观察到。...又去Android官方文档上面做了二次核对,官方文档里也有明确提到,用错情况下是会抛出异常。 所以问题到底出在哪里呢? 和guting做了线下沟通,并且看了看他所写代码。

30310
您找到你想要的搜索结果了吗?
是的
没有找到

Grafana 系列文章(九):开源云原生日志解决方案 Loki 简介

例如,如果发现其中一个服务抛出了 500 个错误,我会尝试找出是否是某个特定处理程序/路由抛出了这个错误,或者是否所有的实例都抛出了这个错误,等等。...接下来,一旦有了一个模糊心理模型,知道什么地方出了问题就会看一下日志(比如在 splunk 上)。...在 Loki 之前,习惯于使用 kubectl 获取相关日志,看看错误是什么,以及是否可以做些什么。这对错误来说很有效,但有时我会因为高延迟而放弃。...虽然它们并不总是直接告诉哪里出了问题,但它们通常让足够近距离地查看代码并找出哪里出了问题。然后,可以扩展服务(如果服务超载)或部署修复。...如果发现某个特定实例出错了,或者想跟踪某个服务日志,必须使用单独 pod 跟踪,因为 kubectl 不允许你根据标签选择器跟踪。这并不理想,但对于大多数使用情况来说是可行

1.8K40

缺陷就是Bug?对了,但没完全对……

缺陷定义 对于软件缺陷来说,一般人都把说是Bug,但正确来说,应该是Defect,这两者区别是: Bug是编程错误结果; Defact 是与需求偏离。...导致开发人员看到我后,完全不知道哪里出现了问题,得再去找测试人员沟通确认,浪费大家时间及精力。...而项目最后为了跟踪和分析要收集信息,一些属性更重要,开发人员和测试人员在选择时,需要根据实际情况做筛选,要不分析结果就不正确了。 标题 总结出现问题模块和错误信息。...5、开发人员收到我之后,描述内容进行分析修改,修改完成后,把指回给测试人员,让测试人员在版本更新后,进行验证。...特别说明:当一个项目没有单独测试经理,由项目经理或测试组长兼任测试经理时,那测试人员创建缺陷,则由他们审核。

17530

关于C语言中malloc和free函数用法

下面就进入第三个部分: 三、malloc()以及free()机制:    这个部分今天才有了认识!而且是转折性认识!所以,这部分可能会有更多一些认识上错误!...这里要追踪到malloc()申请问题了。申请时候实际上占用内存要比申请大。因为超出空间是用来记录这块内存管理信息。...因为看了free()源代码之后这个变量感觉有点纳闷(源代码在下面分析)。这里还请大家指出!    所以,free()就是根据这个结构体信息释放malloc()申请空间!...觉得变量名字可以反映一个变量作用,特别是严谨代码。这是源代码,所以我觉得绝对是严谨!!这个变量值是1,表明是可以用空间!只是这里想了想,如果把它改为0或者是其他值不知道会发生什么事?!...所以,free()只是记录了一些信息,然后告诉操作系统那块内存可以去释放,具体怎么告诉操作系统不清楚,但我觉得这个已经超出了这篇文章讨论范围了。

1.4K20

C语言中 malloc函数用法

下面就进入第三个部分: 三、malloc()以及free()机制: 这个部分今天才有了认识!而且是转折性认识!所以,这部分可能会有更多一些认识上错误!...这里要追踪到malloc()申请问题了。申请时候实际上占用内存要比申请大。因为超出空间是用来记录这块内存管理信息。...因为看了free()源代码之后这个变量感觉有点纳闷(源代码在下面分析)。这里还请大家指出! 所以,free()就是根据这个结构体信息释放malloc()申请空间!...觉得变量名字可以反映一个变量作用,特别是严谨代码。这是源代码,所以我觉得绝对是严谨!!这个变量值是1,表明是可以用空间!只是这里想了想,如果把它改为0或者是其他值不知道会发生什么事?!...所以,free()只是记录了一些信息,然后告诉操作系统那块内存可以去释放,具体怎么告诉操作系统不清楚,但我觉得这个已经超出了这篇文章讨论范围了。

1.6K30

阿里面经,顺便求判定是否凉凉阿里一面

看我用了ActiveMQ,问我为什么用ActiveMQ,为什么不用其他类型消息队列,告诉他不知道。ActiveMQ如何保证发送端和接收端能够发送出去和接收到,以及如何保证安全性。卧槽?...然后问我知不知道ThreadLocal,说再Spring里面见到过,问我作用,说是为每一个线程复制一个对象副本,问我线程安全吗,说线程私有那肯定线程安全啊。...问我GET和POST区别,讲道理记不清了,只记得一个在请求头一个在请求体里面,然后觉得太少,就说在REST下,GET是幂等且耦合,是获取资源信息,POST是资源进行添加。...问了两个简单算法题,一个是查找链表倒数第k个节点,一个是判断是否交叉并且在哪里交叉,比较简单,装作自己没刷过这些题,还嗯了一会。...说是使徒修改就会将操作映射到不同表里,相当于同时修改多个数据表。 总结: 感觉有点凉,最简单里反而没答上,绝望。

1K80

程序员核心竞争力是什么?

这就是态度,触目惊心,如果能对问题有敏感性,能知道任何小,轻微问题有足够敏锐度,你就有了一个快速成长基础。问题敏锐度是非常重要。...第二条,模块测试和断点分析,程序员一个坏习惯就是上来就写很大一坨代码然后再执行,不知道一个模块一个模块来写来测试,执行出了问题不知道设置断点,缩小范围逐步分析。...遇到问题态度 处理问题思路和方法 这就是能力 补充1:善于提问,你能得到怎样答案,取决于你提出怎样问题。 你遇到问题,你应该知道,从哪里去问,去问什么。 常见一个测试题是这样。...数据库目前挂了,就是服务器,不知道为什么挂了,你是一个优秀分析师,现在做响应,你问我问题,你问一个问题回答一个指标,然后看你能不能定位问题。...结果在这个群里,只有徒弟说出了完全正确答案(09年带过)。优先级第一步是看在线用户数和当前访问数,对比历史,得到该问题目前影响程度,决定后续优先级,以及减少分析范围。

77170

IT咨询顾问:一次吐血项目救火

收到该公司技术咨询:项目启动后没有规律突然无法登录了,重新启动后,登录一断时间后又无法重新登录,对方技术人员一头雾水不知道什么原因,后台日志没有任何错误信息。...2,核心参数不做判断   方法返回数据不做null或""字符串判断,导致各种情况空指针异常。项目的功能都是理想化,预想我就是需要这些数据才能给你正确结果,否则哪里出错不知道。...这个问题导致在还原案件现场时给我造成极大困惑,一不留神一个空指针错误必须这个错误进行加强判断处理,好方便模拟出登录多次后无法登录情况。   ...4,拦截器路径规划混乱    这个问题也为排查问题造成了阻碍,排查登录问题首先要把它一次登录成功后后端走方法轨迹追踪出来,看到底是哪一个环节代码问题,因为没有任务错误信息。...吃了就吃了,你为啥也不打印异常信息,也不throws异常,就这样凶猛将异常吃了,明明有问题,它不报,通过它引发一个异常来雪藏真正问题

58220

开发者应该如何应对AI?

“老实说,现在还没有更多具体行动或目标。我们才刚刚开始,现在我们只能猜测。” 但还有另一个 Quick 认为需要社区行动推动变革热点问题: “代码所有权”。...不过他很快补充说:“这意味着什么和它看起来像什么,不知道。” 标准和准则? 但很快讨论进入具体问题。...快乐小偷 接近尾声时,Santo 提出了一个挑衅性问题: 由于注重细节程序员以他们细致小心而自豪,AI 是不是“偷走了我们一些快乐”?...但片刻之后,Freeman 承认“认为这对某些人来说是快乐——其他人来说不是。” Freeman 将她自己快乐描述为“创造人们有意义工具......认为每个人快乐火花将是不同。”...“认为我们收到了压倒性‘这是应该关注东西’反响。”

9010

程序员心理疾病

真正有礼貌的人在不知道答案时候是不会当面去帮你搜索,他会对你说:“这个不知道…… 要不你搜索一下?” 在 IRC 聊天室里,由于隔着网络屏障,这种提问者没礼貌现象就更加嚣张。...曾经有几次去 Java 聊天室问一些貌似基础,而其实很深入语言设计问题,结果没有一次不是以收到像“去读 API!”这样回答而结束。API 谁不会读,然而我需要一个有血有肉的人对此理解。...最后你发现,其实所有语言所谓“社区”都一个德行。如果 Haskell 有一天像 Java 一样如日中天(当然不大可能),肯定大部分问题答案也就是“去读API!”...在制造了 PySonar 之后,他程序语言理解,他一个可笑错误都被我看得清清楚楚。当然,Ruby 就更烂了。...各种 talk 总是宣扬,哇,我们用 Scala/Clojure 做出了多么了不起东西云云…… 很多人喜欢做这些语言和技术“evangelist”,尽显各种马屁神功,然后就开始写书,写 blog

47220

如何有效报告 bug

概述 ---- 写过开源软件的人,大都收到过至少一个很糟糕 bug 报告,例如 直接说软件不好用 报告内容毫无意义 没有提供足够信息 给出了错误信息 问题是由于用户过失产生 问题是由于其他程序错误而产生...数字里面包含了很多程序员可以读取各种信息,而且可能包括重要线索。用数字代表错误信息是因为计算机很难用语言描述它发生问题,用这种方式告诉你错误所在是最好办法。...五、出了问题后,做了... ---- 当错误或者 bug 出现时候,你可能会做这些事情。但大多数会让问题变得更加严重。...“ 医生,得了一种怪病,给我开个方子吧 ”。 人们知道不应该医生说这些。我们应该描述哪里不舒服、哪里疼,然后让医生来判断问题所在,以及应该怎样进行治疗,否则医生将会把你当成「神经病」。...八、把磁盘装进了 Windows... ---- 在 bug 报告中,将问题描述清楚是必要。如果程序员不能理解你说是什么意思,那你跟没说是一样收到 bug 报告来自世界各地。

46320

使用 Linux 软件包管理器 5 个理由

当你在 Linux 上卸载时候,你就真的卸载了。 2、按你意思重新安装 不仅卸载要彻底,重装也很有意义。在许多平台上,如果一个应用出了问题,有时会建议你重新安装它。...这是个不错建议,但对于任何技术人员来说,不知道是什么地方出了问题都是令人沮丧。...大量涌入安全漏洞报告似乎是一件坏事,但这绝对是一个知道远比不知道案例。毕竟,没有人告诉你有问题,并不意味着没有问题。漏洞报告是好。它们每个人都有好处。...当应用收到更新时,无论是修补潜在安全问题还是引入令人兴奋新功能,你包管理器应用都会提醒你可用更新。 4、保持轻便 假设你有应用 A 和应用 B,这两个应用都需要库 C。...当时花了很多时间去调查这些错误仍然记得,系统上有两个主要应用分别捆绑了相同(但有区别)图形后端技术。当一个程序输出导入到另一个程序时,这种不匹配会导致错误

56220

小程序日志监控工具

用户反馈小程序用起来有问题还特么还不知道到底出了啥bug,反馈多了,老板要扣工资了!看来挖了太多坑不填也不行,程序异常还是要主动追踪,今天给大家介绍一个轻量级错误日志监控服务Fundebug。...测试 参照官方文档,造了一个测试错误: test_error.png 果然,立即收到了报错,控制台多出了一个小红点: 1unread.png 而且,值得点赞是,在浏览器上方tab标签中也有小红点...你可以很容易看出一个错误出现了多少次,影响了多少用户,由此判断错误严重程度,决定要不要立即去改这个bug。 error_summary.png 4....个性化配置 Fundebug微信小程序插件默认只会抓取错误信息,也就是说,连系统和设备信息都不会获取,除非你去配置。然后,你会发现他有一大堆可以配置属性,可以说是很全面很到位了。...attribute_list.png 试着做了一下基本配置,然后就可以抓到系统信息。 systeminfo.png 并且连函数调用都记录下来了,这个对于解bug可以说是非常有用了。

3.2K90

程序员面试标准答案并不标准

随后,他宣称,“有时候,我会碰到那些不但不知道答案,还自作聪明地给出错误答案候选人。知道错误答案比不知道更糟糕。一些极少数甚至坚持和试图向我解释应该如何理解他们答案。...问错误问题 对于初学者来说,在我看来,整个过程从开始就错了: 有很多关于Java技术面试问题,即使是最入门级新手也能给出正确答案。当我面对不那么初级候选人时,不会问这些问题浪费时间。...是因为他们工作表现和/或样带才得到演出机会,而不是他们回答问题能力。 期待错误答案 接着,Peter说, 知道错误答案比不知道更糟糕。...所以,请原谅直言不讳:这个答案可以说是,但你也可以说是,因为“这个候选人没有深刻地了解Java”?...接下来会发生什么就显而易见了:自己技术自信满满面试官,准备好了一系列已经规定了答案问题询问候选人,如果候选人没有按照他答案回答,那就被认定为是“不合格”。 举一个亲身经历过例子。

55670

这个美女程序员写代码,带人类成功登月

一次午夜聚会后,她冲回计算机实验室,校正一段她突然意识到缺陷代码。“总是想象报纸头条新闻,他们会倒查问题是怎么发生,最终会倒查到我。”...一个雷神工人在把铜线穿到电磁环上 汉密尔顿而言,编程就是要在一堆堆穿孔卡片上打眼,卡片在巨大霍尼韦尔大型机上做整晚批处理计算,模拟阿波罗着陆器工作。...就像闵代尔讲,它是第一个计算机机载导航系统,设计为由人控制,但是具备“电传操纵系统”自动驾驶技术——当今喷气客机标配计算机导航系统前身。...当休斯顿电话打进来,汉密尔顿正在仪器实验室二楼会议室。启动 P01 程序擦掉了拉威尔收集所有的导航数据。这可是个问题。没有这些数据,阿波罗计算机没法把宇航员带回家。...花了九个小时钻研桌子上厚达8英寸程序清单后,他们想出了一个方案。休斯顿只要上传导航数据,一切就会恢复正常。感谢汉密尔顿——还有劳伦——阿波罗号宇航员回家了。

96270

程序员面试标准答案并不标准

Peter Verhas在技术面试时问了一个看似无关问题,并得到了一个虽然没错但并不恰当答案。随后,他宣称,“有时候,我会碰到那些不但不知道答案,还自作聪明地给出错误答案候选人。...知道错误答案比不知道更糟糕。一些极少数甚至坚持和试图向我解释应该如何理解他们答案。这已经成为了一种个性问题,而且毫无疑问是面试中要pass掉的人。”...问错误问题 对于初学者来说,在我看来,整个过程从开始就错了: 有很多关于Java技术面试问题,即使是最入门级新手也能给出正确答案。当我面对不那么初级候选人时,不会问这些问题浪费时间。...所以,请原谅直言不讳:这个答案可以说是,但你也可以说是,因为“这个候选人没有深刻地了解Java”?...接下来会发生什么就显而易见了:自己技术自信满满面试官,准备好了一系列已经规定了答案问题询问候选人,如果候选人没有按照他答案回答,那就被认定为是“不合格”。 举一个亲身经历过例子。

27510

为什么年轻一代连操作系统基本知识都不懂?

虽然作业布置得很清楚,但她却不断接到学生们求助电话,他们都说自己收到了同样错误提示:程序找不到他们文件(File not Found Error)。...他们甚至根本听不懂 Garland 问题。 其他教授第一次遇到这类问题情景同样记忆犹新。...最终,他把众多项目全部塞进了一个巨大文件夹内。 某本科大学计算物理专业教授表示,这些学生是聪明人,但“在 C 驱动器上查找文件夹”概念这些人来说是陌生。...让他们使用 IDE 进行设置并安装 Python 是一个痛苦经历,但他们实际上很快掌握了编程,并能及时热扩散或其他东西进行建模,尽管几乎不知道他们把东西保存在了哪里。...“这个年龄段里有一些真正奇才,但也有很多人除了点击 TikTok 符号、打开 TikTok 之外,计算机概念一无所知。” 这种思维方式可以说是技术进步直接体现。

19720

为什么年轻一代连操作系统基本知识都不懂?

虽然作业布置得很清楚,但她却不断接到学生们求助电话,他们都说自己收到了同样错误提示:程序找不到他们文件(File not Found Error)。...他们甚至根本听不懂 Garland 问题。 其他教授第一次遇到这类问题情景同样记忆犹新。...最终,他把众多项目全部塞进了一个巨大文件夹内。 某本科大学计算物理专业教授表示,这些学生是聪明人,但“在 C 驱动器上查找文件夹”概念这些人来说是陌生。...让他们使用 IDE 进行设置并安装 Python 是一个痛苦经历,但他们实际上很快掌握了编程,并能及时热扩散或其他东西进行建模,尽管几乎不知道他们把东西保存在了哪里。...“这个年龄段里有一些真正奇才,但也有很多人除了点击 TikTok 符号、打开 TikTok 之外,计算机概念一无所知。” 这种思维方式可以说是技术进步直接体现。

28020

从执行到专家,不同阶层数据分析师都在做什么呢

这类人发出来数据,是否有意义,怎么解读,他自己是不知道,只能期望收到数据的人了。...他们不足是:1、如果不告诉他们命题,那么他们就不知道该应用什么样方法去得到结论了。2、对于数据处理没问题,但是却没有一个很好数据解读能力。只能在统计学角度上解释数据。...在哪里? 示例:一周内各天各种门诊病人数量报告。 即席查询最大好处是,让你不断提出问题并寻找答案。 3 多维分析 回答:问题到底出在哪里该如何寻找答案?...示例:各种手机类型用户进行排序,探查他们呼叫行为。 通过多维分析(OLAP)钻取功能,可以让您有初步发现。钻取功能如同层层剥笋,发现问题所在。 4 警报 回答:什么时候该有所反应?...示例:当销售额落后于目标时,销售总监将收到警报。 警报可以让您知道什么时候出了问题,并当问题再次出现时及时告知您。警报可以通过电子邮件、RSS订阅、评分卡或仪表盘上红色信号灯展示。

72570
领券