小编Sar*_*ATM的帖子

DTrace END探测器永远不会触发

我有一个2009年中期的MacBook Pro和一个新的2012 MacBook Pro,我正在学习DTrace(一个非常神奇的工具).当我计算新的2012 MBP上的聚合时,聚合不会打印出来.

sudo dtrace -n 'syscall:::entry { @[execname] = count() }'
Run Code Online (Sandbox Code Playgroud)

在我2009年中期的MBP上,它显示了类似于:

  usbmuxd                                                           1
  GrowlHelperApp                                                    2
  imklaunchagent                                                    2
  installd                                                          2
  stackshot                                                         2
  ...
Run Code Online (Sandbox Code Playgroud)

2012 MBP没有显示任何内容.

我在BEING和END探针中添加了一个printf,看看END探针是否会像这样发射:

BEGIN
{
    printf("Hi!");
}

syscall:::entry
{
   @[execname] = count();
}

END
{
    printf("Bye!")
}
Run Code Online (Sandbox Code Playgroud)

在2009年中期,MBP两种探测器都被发射和打印,而在2012 MBP上,只有BEGIN探测器被发射.END从未解雇过.

两个MBP都在运行Lion 10.7.3.我不确定下一步该尝试什么.现在想到的唯一区别是我没有在2012 MBP上安装开发人员命令行工具.这对我来说没有意义,而且是在黑暗中拍摄.

任何帮助或想法将不胜感激.谢谢.

============= [启用Root帐户] ====================

所以我启用了root帐户并重新运行了命令

sudo dtrace -n 'syscall:::entry { @[execname] = count() }'
Run Code Online (Sandbox Code Playgroud)

没有成功,但如果我这样做

su
dtrace -n 'syscall:::entry { @[execname] = count() }'
Run Code Online (Sandbox Code Playgroud)

有用!

============= [kill -s INT] =============================

我做了一些实验.如果我跑:

sudo …
Run Code Online (Sandbox Code Playgroud)

macos sudo dtrace control-c

5
推荐指数
1
解决办法
592
查看次数

Go 中的二分搜索 - 到底为什么这是不正确的

无法弄清楚为什么二分搜索在 go 中的实现不正确。输入是([]int{-1, 0, 3, 5, 9, 12}, 9)

func Search(nums []int, target int) int {

    mid := len(nums) / 2

    if nums[mid] == target {
        return mid
    }
    if len(nums) >= 1 {
        if nums[mid] < target {
            return Search(nums[mid+1:], target)
        } else {
            return Search(nums[:mid], target)
        }
    }

    return -1
}
Run Code Online (Sandbox Code Playgroud)

binary-search go

4
推荐指数
1
解决办法
273
查看次数

标签 统计

binary-search ×1

control-c ×1

dtrace ×1

go ×1

macos ×1

sudo ×1