当前位置:首页 > 实用技巧 >

笔记本远程调试失败且未执行(开机远程调试失败且未执行)

来源:原点资讯(m.360kss.com)时间:2023-11-28 21:35:29作者:YD166手机阅读>>

解决 bug 的工具与方法

深入分析运行中应用程序的一些工具,例如 strace、dtrace 等,可以让我们深入了解内部差异和异常行为。容器技术如 Docker 大大方便了统一环境的创建,从而消除了许多微小的差异。

我曾经调试过一个仅在客户现场出现故障的系统,最终发现他们的网络连接速度非常快,以至于与服务器之间的通信时间甚至比本地代码的执行时间还要短。我通过远程登录到客户的机器上并在那里复现了问题,了解到有些问题的表现与地理位置有关。

网络差异、数据源的不同和规模等因素可能会对环境产生重要影响。例如,在每秒收到 1,000 个请求的大型集群中如何重现问题呢?可观察性工具在这些情况的管理中可能极为有效。正如我在《针对故障构建 - 轻松进行生产调试的最佳实践》中所讨论的那样,在这种情况下,调试的重点不在于重现,而在于理解环境中的可观察信息。

理论上,我们不应遇到这些问题,因为测试应有适当的覆盖范围。然而,现实总是复杂的。许多公司进行“长时间运行”的测试,一整夜持续运行,将系统压力推至极限以便在现场问题出现前找出并发问题。故障通常由存储不足造成(例如,日志将磁盘打满),但这样的问题通常很难复现。多次循环运行失败的代码常是有效的解决方案。还有一些值得使用的工具,例如我曾讨论过 “强制抛出异常”的 功能,它使我们能够更灵活地模拟失败情况。

笔记本远程调试失败且未执行,开机远程调试失败且未执行(5)

日志记录

日志记录是许多应用程序的核心特性,它是我们调试此类边缘情况的关键工具。我曾经写过关于日志记录的文章,讨论了它的价值。

日志记录的工作需要像可观察性一样经过深入的思考和规划。如果没有适当的日志记录,我们将无法有效地调试现有 bug 。合理地开始日志记录并采用最佳实践是一个好习惯。

笔记本远程调试失败且未执行,开机远程调试失败且未执行(6)

并发

并发问题是软件开发中极为棘手的 bug 之一。当遇到表现不一致的问题时,首先需要确定涉及的线程,并确保每个线程都按预期执行操作。

在调试过程中,可以使用单线程断点,从而只暂停特定线程,以检查特定方法中是否存在竞态条件。建议使用跟踪点代替断点,因为阻塞可能会掩盖或修改与并发有关的 bug 。

通过审查所有线程,并尝试通过让其他线程休眠来为每个线程提供“优势”,我们可以偶然发现引发并发问题的特定条件。

尝试使用自动化流程来重现问题非常有用。例如,当遇到这种情况时,可以创建一个循环来数百或数千次地运行测试用例,并通过日志记录来寻找问题的根源。

值得注意的是,如果问题确实源自并发代码中,额外的日志记录可能会显著改变结果。有一次,我将字符串列表存储在内存中,然后在执行完成后一次性转储完整列表,以取代直接写入日志。虽然使用内存进行记录的调试方式并不理想,但这样做可以避免记录器或控制台输出的开销。特别是在没有适当的过滤和管道的情况下,控制台输出通常比记录器更慢。

笔记本远程调试失败且未执行,开机远程调试失败且未执行(7)

何时选择“放弃”

尽管我们不主张轻易放弃,但有时必须承认某些问题在你的机器上可能始终无法重现。当遇到这种情况时,应该进入调试过程的下一个阶段,对潜在原因进行假设并创建测试用例以验证这些假设。

在难以解决 bug 的情况下,将日志和断言集成到代码中至关重要。这样做可以确保当问题再次出现时,有更多的信息可供分析和参考。

笔记本远程调试失败且未执行,开机远程调试失败且未执行(8)

栏目热文

笔记本显示远程过程调用失败(电脑提示远程过程调用失败)

笔记本显示远程过程调用失败(电脑提示远程过程调用失败)

一、远程过程调用失败今天,登录本地SQL数据库后提示:sql server 无法连接到local 打开配置管理器后发现s...

2023-11-28 21:24:11查看全文 >>

黑暗迷宫到底讲的什么(黑暗迷宫结局谁活下来了)

黑暗迷宫到底讲的什么(黑暗迷宫结局谁活下来了)

一辆小巴,上载七名乘客,为了绕开拥堵的路段,翻山越岭中驶入了一条隧道。隧道看似普通,却逐渐异象乱生,不仅根本找不到出口和...

2023-11-28 21:20:40查看全文 >>

黑暗迷宫结局谁活下来了(黑暗迷宫大结局什么意思)

黑暗迷宫结局谁活下来了(黑暗迷宫大结局什么意思)

文/木易孝敦最近,“大猪蹄子”聂远主演的电影《黑暗迷宫》无疑是最值得关注的国产新片之一,而电影提档10月31日,更是粉丝...

2023-11-28 21:47:04查看全文 >>

黑暗迷宫大结局解析

黑暗迷宫大结局解析

回顾国产电影这几年的发展,有好几部小成本制作的电影都收获了高口碑,《黑暗迷宫》就是其中一部。《黑暗迷宫》是一部悬疑片,由...

2023-11-28 21:31:41查看全文 >>

黑暗迷宫真正结局是什么(黑暗迷宫电影最后结局什么意思)

黑暗迷宫真正结局是什么(黑暗迷宫电影最后结局什么意思)

电影《黑暗迷宫》由新锐导演温河执导,聂远、葛天领衔主演,杜奕衡、初俊辰、栾元晖、余薇薇、卢卓(小灿)、程爽、陈震、戚蓝尹...

2023-11-28 21:54:56查看全文 >>

笔记本远程过程调用失败且未执行(电脑桌面显示远程过程调用失败)

笔记本远程过程调用失败且未执行(电脑桌面显示远程过程调用失败)

在日常开发的过程中我们经常会需要调用第三方组件或者数据库,有的时候可能会因为网络抖动或者下游服务抖动,导致我们某次查询失...

2023-11-28 21:50:43查看全文 >>

windows7远程过程调用失败未执行(远程过程调用失败且未运行怎么办)

windows7远程过程调用失败未执行(远程过程调用失败且未运行怎么办)

win7自带远程控制桌面,有的时候需要用到远程控制,遇到使用不了的情况,下面小编整理一些解决办法:在电脑的控制面板,打开...

2023-11-28 21:30:29查看全文 >>

笔记本远程过程调用失败怎么办(电脑显示远程过程调用失败未执行)

笔记本远程过程调用失败怎么办(电脑显示远程过程调用失败未执行)

在微服务架构中,服务之间通过网络进行通信,因此服务之间的调用可能会出现异常。为了保证系统的可靠性和稳定性,我们需要对这些...

2023-11-28 21:40:35查看全文 >>

电脑出现远程调用未执行啥意思(电脑突然弹出远程过程调用失败)

电脑出现远程调用未执行啥意思(电脑突然弹出远程过程调用失败)

写在前面我遇到了什么问题:很老的一个系统bug原因升级,大概五六年没有重启机器了,4A平台上面通过ssh远程连接Linu...

2023-11-28 21:53:01查看全文 >>

新买的笔记本电脑卡是怎么回事(新买的笔记本电脑为什么总是卡)

新买的笔记本电脑卡是怎么回事(新买的笔记本电脑为什么总是卡)

笔者湖北人,疫情期间十分感谢社会各界对湖北的无私援助,在这里向大家表示感谢。准备更新一百篇关于电脑相关的知识文章,同时每...

2023-11-28 21:20:48查看全文 >>

文档排行