Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 在OS X或Linux上进行测试和调试的基本知识是什么?_Debugging_Unix_Testing - Fatal编程技术网

Debugging 在OS X或Linux上进行测试和调试的基本知识是什么?

Debugging 在OS X或Linux上进行测试和调试的基本知识是什么?,debugging,unix,testing,Debugging,Unix,Testing,我有几位高级QA工程师在镇上待了几天,我正在为他们准备测试我们正在移植到Linux和OS X的应用程序。这些人很聪明。虽然他们不是程序员,但他们确实了解如何打开内存转储来查找函数指针,并编写简单的python来帮助自动化他们的工作。但他们总是使用windows,并且只熟悉那里的工具 所以我的问题是:你会教他们什么来帮助测试在OSX或Linux上运行的本机应用程序 我的一些想法是: 文件系统的基础知识,其中配置文件是(/etc),日志文件是(/var/log) 如何使用定位、查找、grep和co

我有几位高级QA工程师在镇上待了几天,我正在为他们准备测试我们正在移植到Linux和OS X的应用程序。这些人很聪明。虽然他们不是程序员,但他们确实了解如何打开内存转储来查找函数指针,并编写简单的python来帮助自动化他们的工作。但他们总是使用windows,并且只熟悉那里的工具

所以我的问题是:你会教他们什么来帮助测试在OSX或Linux上运行的本机应用程序

我的一些想法是:

  • 文件系统的基础知识,其中配置文件是(/etc),日志文件是(/var/log)
  • 如何使用定位、查找、grep和co
  • 使用gdb检查coredumps

    • 首先想到的两件事

    • 学习shell(sh、ksh、bash或他们将要使用的任何东西)
    • 了解如何使用编辑器(vi/m、emacs、pico甚至?)

    • 如果他们不害怕gdb,那么他们肯定会知道

      知道如何做,也很有帮助

      如果他们需要杀死叛徒,了解信号会有所帮助

      如果他们需要在Windows和Linux之间转换文本文件,tr命令是他们的朋友

      如果他们需要下载文件,这是一个易于使用的命令行工具

      总的来说,对最常用的Linux shell有充分的了解应该是一项基本要求

      有一个(非常基本的)可能有助于克服最初的障碍。还有更多的文章


      下面是

      我将教tham如何设置ulimit,以便创建核心文件。我还可能包括关于基本信号号码的信息以及这些号码的含义。此外,您还可以向他们简要介绍ftp,以便将文件移动到他们更熟悉的位置,以及CR LF问题的基本知识。我将向他们解释UNIX和Windows之间的主要区别(斜杠是不同的)。我也会考虑建立一个SAMBA共享,以便他们可以使用他们所选择的工具编辑文件。 教他们如何重定向输出和如何使用tee可能是他们可以从中受益的事情。必须具备基本的文件权限。如果禁用telnet端口,说明ssh和telnet可用于访问这些远程框可能会有所帮助。最后,我要告诉他们,删除文件并不像windows那样具有撤消功能


      你可以考虑解释PS -EF以及简单的管道和GRIP。我将向他们展示如何对进程进行后台处理,并可能使用kill-9终止进程。top、xload和pstree等工具可能会帮助他们解决问题。

      我会教他们使用简单的unix工具,比如time/sed/grep/甚至perl。Shell脚本和“许多简单命令”的理念

      另一方面,学习如何使用更复杂的工具,例如

      • 瓦尔格林
      • gdb
      • 斜射
      • 埃特拉斯
      编辑:当然,需要一些文本编辑器(vim/emacs/mcedit/etc)