为什么分析器需要管理权限(在Windows上)

时间:2009-02-12 14:10:52

标签: c++ visual-studio profiling privileges

我一直在为Windows上的本机C ++程序评估分析器和内存检查工具,并且所有这些工具都希望以管理员权限运行。我很少在我的机器上以管理员身份登录。如果我需要安装某些东西或做一些需要管理权限的东西,我会使用runas并且它运行良好。

分析器是否合法需要管理员权限,或者探查器开发人员是否只是懒惰?在此基础上拒绝所有这些工具,我是不合理的吗?

我正在使用XP 2005在XP Pro机器上进行开发。

5 个答案:

答案 0 :(得分:4)

因为他们必须查看其他进程的内存,这通常是禁忌。

答案 1 :(得分:3)

一些cpu profilers实际上使用操作系统中断进行统计平均...显然,如果没有特权,他们就无法做到这一点:)

答案 2 :(得分:3)

我一直在阅读这篇文章,我正在慢慢得出结论,类似于分析器的工具通常不需要管理访问权限,但声明您需要它是工具制造商避免所有问题的简单方法与权限不足有关。

所以,我猜他们懒惰但也有点务实。

如果我错了(我不是Windows安全模型的专家),请纠正我,但我相信处理这种情况的一种方法是仅在安装时要求管理员权限。然后创建ProfilerUsers用户组并向该组授予任何必要的权限,然后询问应将哪些计算机用户添加到该组。

我发现最令人震惊的事情是许多开发人员一直以管理权限运行。

答案 3 :(得分:0)

听起来像开发人员的设计选择。他们可能认为在内存中探测或动态更改内存中的代码之前请求管理员权限是个好主意,因为某些类型的恶意软件会出现这种行为。

答案 4 :(得分:0)

最可能的解释是,它们是使用Win32调试API(如DebugActiveProcess())实现的专用调试器。这些函数需要PROCESS_ALL_ACCESS(详见文档),我希望你需要管理员权限。

IIRC除非您的系统具有本地管理员权限,否则Visual Studio调试器将无法正常工作,至少对于C ++而言。