Pergunta

Andei avaliando profilers e ferramentas de verificação de memória para programas de C ++ nativo no Windows e todos eles querem ser instalado e executado com privilégios de administrador. Eu raramente login como admin na minha máquina. Se eu precisar instalar algo ou fazer algo que requer privilégios administrativos, eu uso runas e ele funciona muito bem.

É legítimo que um profiler para exigir privilégios de administrador, ou são os desenvolvedores de perfil apenas ser preguiçoso? Estou sendo razoável, rejeitando todas essas ferramentas com base nisso?

Estou desenvolvendo com VS 2005 em uma máquina XP Pro.

Foi útil?

Solução 3

Eu estive lendo sobre isso e eu estou lentamente chegando à conclusão de que profiler-como ferramentas em geral não requerem acesso administrativo, mas afirmando que você precisa é uma maneira fácil para os fabricantes de ferramentas para evitar todos os problemas relacionadas com privilégios insuficientes.

Então, eu acho que eles são de ser preguiçoso, mas também um pouco pragmática.

me corrija se eu estiver errado (Não sou especialista no modelo de segurança Windows), mas acredito que uma maneira de lidar com esta situação seria exigir privilégios de administrador somente no momento da instalação. Em seguida, crie um grupo ProfilerUsers usuário e conceder quaisquer privilégios necessários para esse grupo, em seguida, pedir que os usuários de computador devem ser adicionados a esse grupo.

A coisa mais chocante que eu descobri é que um monte de desenvolvedores de correr o tempo todo com privilégios administrativos.

Outras dicas

Porque eles têm de olhar para outra memória do processo, que normalmente é tabu.

alguns profilers cpu realmente fazer uma média estatística usando interrupções OS ... obviamente eles não podem fazer isso sem privilégios para que:)

soa como uma escolha de design pelos desenvolvedores. Eles podem ter pensado que era uma boa idéia de direitos pedido de administração antes de sondagem em torno da memória ou dinamicamente alterar código na memória uma vez que este comportamento é de se esperar de alguns tipos de malware.

A explicação mais provável é que eles são implementados como depuradores especializados, usando as APIs de depuração Win32 como DebugActiveProcess () . Estas funções precisam PROCESS_ALL_ACCESS (conforme detalhado na documentação) e eu esperaria que você terá direitos de administrador para isso.

IIRC o depurador Visual Studio não vai funcionar (correctamente), quer a menos que tenha direitos de administrador local em seu sistema, pelo menos para C ++.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top