2009-02-12 70 views
5

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

它是合法的探查,要求管理员权限,或者探查开发商只是懒惰?在这个基础上拒绝所有这些工具,我是不合理的吗?

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

回答

3

我一直在阅读有关这一点,我慢慢的结论是,总体探查样的工具并不需要管理员权限,但是说明你需要它的工具制造商,以避免所有的简便方法与特权不足有关的问题。

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

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

我发现的最令人震惊的是,许多开发人员运行所有具有管理权限的时间。

4

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

+0

情况因人而异,但在Linux上它是一个关于用户特权代码很常见的用户特权调试器进行调试(当然,两者都必须相同的用户ID下运行)。 – 2009-02-12 14:17:48

+0

我在工作时使用AQTime(在Vista上运行),它从不要求管理员权限(UAC已启用)。 – OregonGhost 2009-02-12 14:19:40

0

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

3

一些CPU剖析实际上做统计使用OS中断......显然他们不能做到这一点均没有特权为:)

0

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

IIRC Visual Studio调试器将无法正常工作(正常)或者,除非你有至少对于C您的系统上的本地管理员权限,++。

相关问题