c - Xcode 仪器记录按钮按下时开始运行但立即停止(C 可执行文件)

标签 c xcode instruments profiler pagerank

我正在尝试分析我为一项作业使用 pagerank 编写的 C 程序。我有一台 Mac,所以不能使用 gprof,所以检查了 xcode 仪器应用程序。我已将目标加载为 C 可执行文件。

我用这个 makefile 编译了我的 C 程序:

CC = clang
CFLAGS = -g -O1 -Wall -Werror -std=gnu11 -march=native
LDFLAGS = -lm -pthread

.PHONY: all clean

all: pagerank

pagerank: pagerank.c
    $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@

clean:
    -rm -f *.o
    -rm -f pagerank
    -rm -rf *.dSYM

问题是我按下录制按钮,它立即开始和停止。运行计数每次都会增加,就好像它已成功运行一样。

我不确定我应该做什么不同的事情。我的理解是,我会将目标指向我的可执行文件,点击记录,然后进入终端并运行测试,但这似乎不起作用。

最佳答案

你的程序是交互式的吗?如果是这样,您可以在终端中正常启动它,然后将 Instruments 附加到已经运行的进程。当然,您不会分析程序的启动情况。

如果您的程序不是交互式的,那么您应该在“选择目标”对话框中设置参数和环境,以便当 Instruments 运行它时,它可以执行您想要分析的操作。

关于c - Xcode 仪器记录按钮按下时开始运行但立即停止(C 可执行文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37517065/

相关文章:

swift - 如何在 swift 5 中隐藏状态栏?

ios - GoogleMaps 不是 dylib,最新版本的 pod 文件编译时错误

ios - 在设备上的应用程序上运行泄漏命令行工具

objective-c - iOS:Xcode 4.2:Leaks Instrument 说我的 NSMutableArray 和 NSMutableDictionary 有泄漏,但我看不到哪里

c - C语言中删除字符数组中的空格

c - 该程序中涉及 fork() 系统调用的控制流程如何?

只清除结构的位域成员?

iphone - Xcode 3 和 Xcode 4,有什么区别?

xcode - ios 僵尸检测

c++ - 使用创建的 DLL 文件(从应用程序调用函数)