C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 111 を表示中)
■66036 / )  Re[12]: Windows8(64bit)上でexeが動かない件について
□投稿者/ とっちゃん (81回)-(2013/03/28(Thu) 20:38:19)
とっちゃん さんの Web サイト
No66034 (howling さん) に返信
> ■No66033 (とっちゃん さん) に返信
>>は?それは、リモートデバッグの話ですよね?
>>x64アプリはVS2010でも作れますよ?実行にVS2012が必要な要素なんて1ビットもありませんよ?
>
> そうですそうです。
> でも、x64アプリが作れてもエラーが別の物に変わるだけ、なんていうのはよくある話だと思います。
> それを考慮すると、リモートデバッグ可能な状態にしておく、というのが正しい形なのかな?と思うのですが、
> そもそもそこから間違っていますか?
>
間違ってはいません。が、問題を見誤っています。

今問題となっているエラーの原因は、Windows8 にあるわけではなくて、x64版のバイナリが正しくできていないことですよね?

Windows8 は全く無関係です。Windows7 のx64版でも同じ問題が発生しているはずです。

もし、x64なOSがWin8しかなくて、Win7は全部x86だ。。。ということであれば仕方ないですが。。。
その場合は、そのWin8に直接VS入れちゃうほうがデバッグしやすいと思うんですけどねぇ。。。
それなら、VS2010でそのままデバッグできるし。。。


> 32bitの何かに触れないと動作しないような書き方をどこかでしているから起こっているエラーと認識しています。
もし、これが「真」であるとしたら、64bitなバイナリを作らないといけないという部分が間違っていることになります。

今やってることそのものがかなり徒労に終わる可能性が高いです。。。が、それは本当にそうなのか?を切り分けられるまでわかりません。


> ですから、動作自体に特定のVSのバージョンが必要、という認識は無いです。
> ただ、リモートデバッグを使用してWindows8PC上で動作することを確認したいと思っています。
> 純粋にこのエラー「だけ」を直せば済むのなら良いのですが…。
>
一応書いておきますね。

起動できない状態は、VSではデバッグできません。リモートも何もなく。。です。
VSでデバッグできるのは、カーネルがプロセス空間を用意し、メインスレッドを作成し、それの実行ポイントをEXEのスタートアップに設定してからです。
そこに至るまでの部分のデバッグはできません。

リモートデバッガを使っても同様です。
そこの部分をデバッグしたいのであれば、ICEなどのカーネルモードデバッガを使う必要があります。
#リング0で動く必要はないと思いますけどねw


>>かなりぐちゃぐちゃになってる気がします。
>>落ち着いて、状況整理してみることをお勧めします。
>
> すみません、もしまたおかしな事言ってたらご指摘ください。

おかしなことを言ってるわけではないんですよ。
問題の切り分けをするポイントそのものが間違ってるんです。

x64なバイナリを作るが目的なら間違った方向に進んでないですが、
もし、32bitなコードが必須なら、EXEをAnyCPU(たぶんそうなってますよね)から、x86にすることが必要な修正になります。

もしそうなら、問題の切り分けが全く違ってるとなりますよね?
なので、そのあたりも含めて状況整理してみる必要があると思います。


返信 編集キー/


管理者用

- Child Tree -