none
デバックエラーで困っています RRS feed

  • 質問

  • 現在、Microsoft Visual Studio 2010でMicrosoft Office XP Developerを使ってソフトを開発しています。
    最近(2月中ごろから)複数の開発済みソフトの更新作業でデバックすると、次のようなエラーが発生し、どう対応すればよいか見当もつかず困っています。何か対策のヒントだけでもいただければ助かります。ご教授ください。

    エラー11"obj\x86\Debug\abc.exe" を "bin\Debug\abc.exe" にコピーできませんでした。10 回の再試行回数を超えたため、失敗しました。 abc.exe

    2016年3月16日 6:46

回答

  • 早速のお返事、ありがとうございます。「複数の開発済みソフトの更新作業」とは3個のClickOnceで配布しているソフトを一部分修正してDebugすっるのですが、同じエラーが発生しています。

    ご指摘の「bin\Debug\abc.exe」が実行中という可能性ですがそこは大丈夫ですか?・・について確認方法を教えてください。

    • 回答としてマーク .hideyoshi 2016年3月16日 7:57
    2016年3月16日 7:42
  • → [プロセスの終了]をクリックすると、一旦(0.5秒)はxxx.vshost.exe *32が一覧から消えますが、すぐに同じ位置に表示されます。数回繰り返しましたが同じでした。

    あれ?私の時は大丈夫だったんですけどね。
    そうなると、やはり先にご紹介した、ホスティングプロセスを無効にして一時的に凌ぐぐらいでしょうか・・・

    方法 : ホスト プロセスを無効にする
    https://msdn.microsoft.com/ja-jp/library/ms185330.aspx

    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/


    • 編集済み trapemiyaModerator 2016年3月16日 12:30
    • 回答としてマーク .hideyoshi 2016年3月16日 19:59
    • 回答としてマークされていない .hideyoshi 2016年3月16日 20:06
    • 回答としてマーク .hideyoshi 2016年3月16日 20:21
    2016年3月16日 12:30
    モデレータ
  • >1.「ホスト プロセスをは有効に」戻しておいたほうがよいのでしょうか。

    先にも書きましたが、今回の原因はデバッグ実行が終了してもなぜかホストプロセス(xxx.vshost.exe)が終了せず、次にデバッグ実行した際に既にホストプロセスが起動しているため、これとぶつかってデバッグ実行ができない状態のようです。
    よって、ホストプロセスの仕組みを使わないようにしたのが、今回の対応です。つまり、完全に対処療法です。

    通常、ホストプロセスを無効にすることはほとんどありません。基本的にメリットしかないからです。よって、有効にしておくこと越したことはありません。メリットは、先に私が上げたページ、

    方法 : ホスト プロセスを無効にする
    https://msdn.microsoft.com/ja-jp/library/ms185330.aspx

    や、以下を参考にしてみて下さい。

    VSホスト・プロセス(*.vshost.exe)とは何か?[VS 2005のみ、C#、VB]
    http://www.atmarkit.co.jp/fdotnet/dotnettips/410vshost/vshost.html

    なお、私もしばらくこのホストプロセスを無効にすることで逃げていましたが、前述した通り、数日後に有効に戻しても正常にデバッグ実行できるようになっていました。原因不明です。昨日もその状態で同じプロジェクトの開発を行っていましたが、何ら問題なくデバッグ実行できました。
    よって、どこかのタイミングで有効に戻してみて下さい。

    >2.この動作(処理)は、前回の成功したデバックの時点まで戻しているのでしょうか。

    いえ、違います。Visual Studioがデバッグ実行する際に、どのように行うかが変わるだけです。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク .hideyoshi 2016年3月17日 1:37
    2016年3月17日 0:01
    モデレータ
  • trapemiya様、大変ありがとうございました。また追加の質問にもお答えいただき大変助かりました。
    • 回答としてマーク .hideyoshi 2016年3月17日 1:37
    2016年3月17日 1:37

すべての返信

  • こんにちは。

    「複数の開発済みソフトの更新作業」ってどういう状況なのでしょうか。
    単純にまず疑うべきは、「bin\Debug\abc.exe」が実行中という可能性ですがそこは大丈夫ですか?

    2016年3月16日 6:50
    モデレータ
  • 私も先月、同じ状況になりました。
    ソリューションをクリアして、ソリューションをリビルドしたりしてみたりしましたが、ダメでした。

    とりあえず見つけたのが以下でした。

    c# ビルド時のエラー (2)
    http://plaza.rakuten.co.jp/piyokichiyama/diary/201508300001/

    しかし、これだとClickOnceでは対応できませんでした。
    次に、以下を試したところうまく行きました。

    obj\Debug\xxx.exe" を "bin\Debug\xxx.exe" にコピーできませんでした。10 回の再試行回数を超えたため、失敗しました。
    http://nonbiri-dotnet.blogspot.jp/2015/12/objdebugexe-bindebugexe-10.html

    とりあえずその場しのぎだったのですが、なぜか知らぬ間に直ってしまって、今は通常通りチェックを付けたままでも問題が発生しなくなりました。
    正常に動いたあと、ソリューションをクリアして、ソリューションをリビルドなどしていると復旧するのかもしれませんが、謎です。復旧してからさほどVisual Studio 2010を触っていないので、また発生するかもしれません。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2016年3月16日 7:04
    モデレータ
  • 早速のお返事、ありがとうございます。「複数の開発済みソフトの更新作業」とは3個のClickOnceで配布しているソフトを一部分修正してDebugすっるのですが、同じエラーが発生しています。

    ご指摘の「bin\Debug\abc.exe」が実行中という可能性ですがそこは大丈夫ですか?・・について確認方法を教えてください。

    • 回答としてマーク .hideyoshi 2016年3月16日 7:57
    2016年3月16日 7:42
  • ProcessExplorerなどを使用すればロックしているプロセスがわかるかとは思いますが、

    hideyoshiさんと、trapemiyaさんのお話からするとClickOnceが前提条件である質問だったのですかね?
    状況をよく理解せず回答しており失礼しました。

    2016年3月16日 7:46
    モデレータ
  • 颯爽のお返事ありがとうございます。私も同様な対応を試してみます。ありがとうございました。
    2016年3月16日 7:56
  •      
    4,575           
    ポイント
    トップ 5
    Tak1wa        
    MCC, MVP         参加: Dec 2014        
               

    2

                                           

    5

                                                

    16

                             

    すみません、Tak1waさん。ClickOnceが前提条件ではありませんが、DebugができていなければClickOnceの発行もできないのではないでしょうか?

    2016年3月16日 8:05
  • 今回のような現象が起きるのは、私の前の投稿で紹介したページにも書かれていますが、何らかの原因で、xxx.vshost.exeが落ちなくなるからです。タスクマネージャーで確認できます。タスクマネージャーからxxx.vshost.exeを落とせば、普通にデバッグ実行できるようになりますが、毎回xxx.vshost.exeを落とすのは面倒なわけです。

    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2016年3月16日 8:10
    モデレータ
  • trapemiyaさん。回答ありがとうございます。
    「タスクマネージャーからxxx.vshost.exeを落とせば、普通にデバッグ実行できるようになります。」とのお話に感動すいています。少々面倒でも大変助かりますので、初心者でも理解できますようにxxx.vshost.exeを落す手順をご教示いただきたく、お願いいたします。

    2016年3月16日 8:39
  • タスクマネージャーで開いて、プロセスのタブでxxx.vshost.exeを探し、それを選択して「プロセスの終了」ボタンを押すだけです。
    ちなみにタスクマネージャーを開くショートカットは、Ctrl + Shift + Escです。

    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2016年3月16日 8:44
    モデレータ
  • trapemiyaさんありがとうございました。
    早速いつもの通りDebugしてエラーが発生してから、ご指導の通りタスクマネージャーを開き、「xxx.vshost.exe *32」を右クリックして[プロセスの終了]をクリックすると下記のメッセージが表示されました。

    「Windowsタスクマネージャー」
    開かれているプログラムがこのプロセスに関連付けられている場合、プログラムが閉じられて、
    保存されていないデータは全て失われます。システムプロセスを終了すると、システムが不安定に
    なる可能性があります。続行しますか?
    → [プロセスの終了]をクリックすると、一旦(0.5秒)はxxx.vshost.exe *32が一覧から消えますが、すぐに同じ位置に表示されます。数回繰り返しましたが同じでした。

    その後再度デバックしましたが結果は同様で、同じエラーメッセージが表示されます。もう少し繰り返してみます。


    2016年3月16日 9:19
  • → [プロセスの終了]をクリックすると、一旦(0.5秒)はxxx.vshost.exe *32が一覧から消えますが、すぐに同じ位置に表示されます。数回繰り返しましたが同じでした。

    あれ?私の時は大丈夫だったんですけどね。
    そうなると、やはり先にご紹介した、ホスティングプロセスを無効にして一時的に凌ぐぐらいでしょうか・・・

    方法 : ホスト プロセスを無効にする
    https://msdn.microsoft.com/ja-jp/library/ms185330.aspx

    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/


    • 編集済み trapemiyaModerator 2016年3月16日 12:30
    • 回答としてマーク .hideyoshi 2016年3月16日 19:59
    • 回答としてマークされていない .hideyoshi 2016年3月16日 20:06
    • 回答としてマーク .hideyoshi 2016年3月16日 20:21
    2016年3月16日 12:30
    モデレータ
  • trapemiya様、回答ありがとうございました。早速「ホスト プロセスを無効にする」を実行してみました。最初に「Microsoft Visual Basic 2010 Express」画面が表示され、下記のようなメッセージが記載されていました。

    セキュリティ デバック オプションが設定されていますが、必要とされる Visual Studio ホスティング プロセスがこのデバック構成には使用できません。セキュリティ デバック オプションは無効にされます。このオプションはセキュリティ プロパティ ページで再度有効にすることができます。デバック セッションはセキュリティ デバックなしで続行します。

    [OK]ボタンを押すと、なんとデバックが正常に終了してプログラムが元気よく立ち上がりました。朝早起きしてtrapemiya様のご指導が解決に導いてもらえ、大変喜んでおります。最後に次のことについてご指導いただければ詩やわせです。
      1.「ホスト プロセスをは有効に」戻しておいたほうがよいのでしょうか。
      2.この動作(処理)は、前回の成功したデバックの時点まで戻しているのでしょうか。

    おかげさまでうれしい日になりそうです。ありがとうございました。


    2016年3月16日 20:21
  • >1.「ホスト プロセスをは有効に」戻しておいたほうがよいのでしょうか。

    先にも書きましたが、今回の原因はデバッグ実行が終了してもなぜかホストプロセス(xxx.vshost.exe)が終了せず、次にデバッグ実行した際に既にホストプロセスが起動しているため、これとぶつかってデバッグ実行ができない状態のようです。
    よって、ホストプロセスの仕組みを使わないようにしたのが、今回の対応です。つまり、完全に対処療法です。

    通常、ホストプロセスを無効にすることはほとんどありません。基本的にメリットしかないからです。よって、有効にしておくこと越したことはありません。メリットは、先に私が上げたページ、

    方法 : ホスト プロセスを無効にする
    https://msdn.microsoft.com/ja-jp/library/ms185330.aspx

    や、以下を参考にしてみて下さい。

    VSホスト・プロセス(*.vshost.exe)とは何か?[VS 2005のみ、C#、VB]
    http://www.atmarkit.co.jp/fdotnet/dotnettips/410vshost/vshost.html

    なお、私もしばらくこのホストプロセスを無効にすることで逃げていましたが、前述した通り、数日後に有効に戻しても正常にデバッグ実行できるようになっていました。原因不明です。昨日もその状態で同じプロジェクトの開発を行っていましたが、何ら問題なくデバッグ実行できました。
    よって、どこかのタイミングで有効に戻してみて下さい。

    >2.この動作(処理)は、前回の成功したデバックの時点まで戻しているのでしょうか。

    いえ、違います。Visual Studioがデバッグ実行する際に、どのように行うかが変わるだけです。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク .hideyoshi 2016年3月17日 1:37
    2016年3月17日 0:01
    モデレータ
  • trapemiya様、大変ありがとうございました。また追加の質問にもお答えいただき大変助かりました。
    • 回答としてマーク .hideyoshi 2016年3月17日 1:37
    2016年3月17日 1:37