2

XPおよびVS2005からWin7およびVS2010に移行した後、サービスをデバッグできません。

コンパイル、インストール、サービスの実行ができます。

しかし、私はそれらをデバッグする必要があります。また、プロセスにアタッチしようとすると、VS2005でいつも行っていたように実行中のプロセスを選択すると、管理者権限が必要であるというエラーが表示されます。

私はすでに管理者です。また、インターネットでたくさん検索したところ、VS2010を管理者として(右クリックで)実行すると修正されるはずですが、それでも修正できません。

また、vslauncher.exeプロパティのチェックボックスをオンにして、常に管理者として実行しようとしました。VS2010ウィンドウの上部には、実際には管理者として実行されていることが表示されますが、プロセスに接続しようとすると、管理者権限が必要であると表示されます。

誰かがどのように進めるかについて何か考えがありますか?

4

2 に答える 2

3

サービスを編集し、次の行を OnStart() メソッドに追加します。

Debugger.Launch(); OnStart() によって起動されるスレッドではなく、OnStart() でこれを行うことが重要です。これにより、バグがある場合に、サービスがクラッシュする前にそれをキャッチできます。

サービスが開始されると、デバッガーが開きます。その後、Windows は昇格したビジュアル スタジオを自動的に起動するように提案するので、サービスにアタッチできます。この行を app.config 設定に入れると、必要に応じて有効にできるので (つまり、デバッガーを起動してサービスにアタッチする)、非常に便利だと思います。

参考までに、Vista / Windows 7 を使用すると、アプリを管理者として実行できます。ただし、これらのアプリは、「昇格」権限で起動しない限り、管理者権限を明示的に拒否します。これは、UAC と呼ばれるセキュリティ機能です。

于 2012-04-20T12:15:00.707 に答える
3

権限の問題でした。Win7 には新しいセキュリティ システムが付属しており、自分のプロファイル (管理者であっても) に次の権限を追加する必要がありました。

コントロール パネル -> 管理ツール -> ローカル セキュリティ ポリシー -> ローカル ポリシー -> ユーザー権利の割り当て -> プログラムのデバッグ -> ユーザーまたはグループの追加 。

そこで、自分のユーザーを追加しました。マシンを再起動します (重要!! 再起動しないと動作しません)。

その後、プロセスをアタッチしてデバッグすることができました。これを解決するのに本当に長い時間がかかりました。同じ問題を見つけた他の人を助けたいと思っています。

助けてくれてありがとう。

于 2012-04-23T08:43:45.567 に答える