如何使用google解决问题

如何使用google解决问题

redguardtoo

2004/07/07

本文介绍了使用google解决难题的一些高级技术,重点讲述了如何选择关键字,如何分析过滤信息等等。


1. 声明

请读者不要使用本文所介绍的技巧从事违法、不道德的事情。我对于本文所导致的任何后果概不负责。


2. 本文所面向的读者

本文介绍了使用google解决难题的一些高级技术,重点讲述了如何选择关键字,如何分析过滤信息等等。通过阅读本文,你会明白在极大的时间压力下快速解决高难度问题的技巧。你也能了解如何对一些复杂的问题进行调查并给方案。任何对解决问题有兴趣的人都适合阅读本文,只要:

你不相信“软件蓝领”的说法。你相信解决问题的能力是人的本能。你相信任何问题的本质都是一样的。你相信解决问题需要的能力是想象力和举一反三的能力。

说的明白一点,我希望读者是有职业荣誉感的工程师,或者是能够理解这种荣誉感的人。有些人害怕自己即将被技术的进步所淘汰,于是试图通过贬低技术人员的地位来获得安全感。由于他们不能否认技术所取得的伟大成就,于是使用一些政治手腕来间接地达到目的。最常用的手段就是虽然技术是伟大,但是工程师是分等级的(是不是封建残余思想作怪?),低级的工程师就是蓝领,而中国需要的是大量的蓝领,等等。这种有封建残余思想的人是不可能学习新东西的,当然也不可能理解本文,因为要成为google高手,就必须具备开放的头脑和丰富的想象力。


3. 如何使用google解决各种问题

3.1. 不可能完成的任务

一个中国公司的项目组的主要工作是测试一个日本的项目组用C语言开发的系统(调试器为gdb)。一次日本程序员遇到了一个奇怪的问题,当他们用gdb调试时,程序会突然退出。这些程序员研究了两天两夜,不能找出原因。于是他们把退出前调试器上显示的一段错误信息email给中国小组。要求这个小组找出原因。

这个组的组长要我帮忙。我看了错误信息,用到了我不熟悉的进程间通信技术。我首先要求重现错误。“无法重现,因为不知道程序是在哪崩溃的,而我们这也没有运行环境”,回答的斩钉截铁。我要求看源代码。组长告诉我,可以给我看的都是旧代码,出问题的代码早更新过几个版本了,中方暂时还拿不到新代码。说白了,就是没代码。我告诉组长,在这种条件下要解决问题是不可能的。但是领导的意思是利用手头的信息,争取当天解决。

让我小结一下。无法重现错误,没有源代码,不了解相关技术,无法定位bug的大概位置,开发者自己花了两天两夜也无法找出bug原因。而我只有一小段错误信息,除此之外连系统干什么的都不清楚,并被告知不要指望进一步的帮助了。我该如何解决这个问题?

在读者解答这个问题前,我给点提示,日本程序员都是有经验的,他们肯定已将错误信息用google翻了个遍。

给出这个问题的答案花了我15分钟时间。这15分钟时间内我没有读任何文档或者代码。在说明答案前,让我先试着给出思路。我猜日本人已经查过相关的技术手册了,所以我没有必要读手册。给我的信息有限,是因为日方只能提供这些线索。现在看看给我们的一段错误信息是什么?无非是程序退出时,调试器gdb打印的一些信息。例如退出的进程收到了什么信号,该信号是哪个进程发送的等等。我的下一个假设就是日方已经google过这些信息,所以我也不能从这些信息中挖出什么东西了。

要解决问题,就必须发挥想象力

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值