64bit環境のVisual C# ExpressでEditContinueを使う方法

EditContinueとはプログラムのデバッグ中に一時停止し、そのばでコードの編集を行うことができる機能です。

なんと、64bit環境においてはこの機能が無効化されています。

しかし、無理やりEditContinueを有効化する方法を発見しました。
64bitに対応してないのであれば、32bitでデバッグさせればいいのです。


追記 Visual C# 2010 Express x64でもエディットコンティニュー出来ませんでした。たぶん同様にできると思いますが、まだ試してません。

格闘記

ここは読み飛ばしてください笑


Googleで検索をかけてみると、ターゲットプラットフォームを32bitにすればよいとのことだったので、ターゲットプラットフォームを探してみるも。。。無い。。。


うーうーうー。。。有料版じゃないとだめなのか・・・?32bitに戻そうかしら・・・


そこで、slnファイルやcsprojを開いてみるとなにやらAny CPUなる怪しげなる文字列があるではないですか!
そこで闇雲にすべてx86に変えてみました。ん?うまくいかない?
あれ?構成マネージャとかいうのが有効になってる!よし、ごにょごにょ。。。

結論

メモ帳でcsprojファイルを開いてください。
すると

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

という様な部分があると思います。その後ろに

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    <PlatformTarget>x86</PlatformTarget>
    <OutputPath>bin\x86\Debug\</OutputPath>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
    <PlatformTarget>x86</PlatformTarget>
    <OutputPath>bin\x86\Release\</OutputPath>
  </PropertyGroup>

と付け加えてください。
そしたらソリューションを開きます。


すると上図のようにAny CPUと書いてあるテキストボックスがあると思うので、その一覧を見ると構成マネージャとあります。これを開いてください。

するとこのような画面が現れます。そこで画像のようにアクティブソリューションプラットフォームの一覧を開き<新規作成...>を開きます。

するとこのような画面が現れるので

と設定してOKしてください。
そして構成マネージャも閉じてください。
この状態で、ブレークポインタを配置して、デバッグしてみてください。

そこで、ブレークポイントでとまったら、ソースに文字を打ってみてください。

そしたら、メニュー=>デバッグ=>続行で続行すると、

と、反映されましたね!