OutputDebugStringが動かない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
nullptr
記事: 239
登録日時: 7年前

OutputDebugStringが動かない

#1

投稿記事 by nullptr » 6年前

失礼します、お久しぶりです。

諸事情でしばらくコーディングできなかったのですが、久しぶりにVisual Studio2012でデバッグをしていたところ、OutputDebugStringが動作していないようなのです・・・。
いや、関数は成功してるのかもわかりませんが、出力に表示されません・・・。VCは最新の状態のはずです、どうしてでしょうか。コンテキストメニューのプログラム出力にもちゃんとチェックしてあります。

再起動やらしましたがダメです。
試しにOutputDebugStringするだけのコードも書きましたが動きません。なにか設定しないと動かない関数だったでしょうか。どうしたら動くか、誰か何かご存知でしたらお教えください・・・。

コード:

#include <windows.h>

int WINAPI WinMain(
		HINSTANCE hInstance ,
		HINSTANCE hPrevInstance ,
		LPSTR lpCmdLine ,
		int nCmdShow )
{
	OutputDebugStringW(L"いい加減出力しろ\n");
	return 0;
}
 
 
✜ で C ご ✜
: す + 注 :
¦ か + 文 ¦
?
Is the は :
order C++? ✜
     糸冬   
  ――――――――
  制作・著作 NHK
 
 

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: OutputDebugStringが動かない

#2

投稿記事 by softya(ソフト屋) » 6年前

DbgMon (開発者向け、デバッグ支援ツール)と言うのがあるのでお試しください。
「TechnoCity : ソフトウェア開発を行っている個人事業主」
http://www.technocity.jp/
これで表示されたら、Visual Studio2012のIDEの不調か何処か設定が変わった。
これで表示されなかったら、OutputDebugStringWが変?OutputDebugStringAで英字でも試してみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
nullptr
記事: 239
登録日時: 7年前

Re: OutputDebugStringが動かない

#3

投稿記事 by nullptr » 6年前

ソフト屋様ありがとうございます。
::OutputDebugString(L"aaaaaaaaaaaaaaaaaaaaaaa\n");
::OutputDebugStringA("aaaaaaaaaaaaaaaaaaaaaaa\n");
も含めた上で試しましたが表示されません・・・
 
 
✜ で C ご ✜
: す + 注 :
¦ か + 文 ¦
?
Is the は :
order C++? ✜
     糸冬   
  ――――――――
  制作・著作 NHK
 
 

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: OutputDebugStringが動かない

#4

投稿記事 by softya(ソフト屋) » 6年前

新月獅子 さんが書きました:ソフト屋様ありがとうございます。
::OutputDebugString(L"aaaaaaaaaaaaaaaaaaaaaaa\n");
::OutputDebugStringA("aaaaaaaaaaaaaaaaaaaaaaa\n");
も含めた上で試しましたが表示されません・・・
それは、DbgMon でも表示されないんでしょうか?
だとしたら2012の問題の可能性がありますね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
nullptr
記事: 239
登録日時: 7年前

Re: OutputDebugStringが動かない

#5

投稿記事 by nullptr » 6年前

えーーっと・・・、
VS2012でコンパイルしたexeファイル、2つプロジェクトでテストしました ひとつは(1)OutputDebugStringするだけの前述のexe、もうひとつは(2)メールヘッダを解析するもので特筆するのはICUを使っている事くらいでしょうか。
                    DbgMon  VS2012
A (1)をエクスプローラから実行   ○      ×
B (1)をVSのデバッグで起動     ×      ×
C (2)をエクスプローラから実行   ×      ×
D (2)をVSのデバッグで起動     ×      ×

でした・・・わけわかりませんねすいません 私はわけがわからないです
なぜAは良くてCはダメなのかとかも気になりますが、Aが動いているのでやはりVSに問題があるきがするのですが、さっぱりわけがわかりません
 
 
✜ で C ご ✜
: す + 注 :
¦ か + 文 ¦
?
Is the は :
order C++? ✜
     糸冬   
  ――――――――
  制作・著作 NHK
 
 

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: OutputDebugStringが動かない

#6

投稿記事 by softya(ソフト屋) » 6年前

こうなるとプロセス間でやり取りされるイベントレベルで調べないと行けないかもしれません。
ただ、そこまでして2012なのか?と言う問題が出てきますが。

「OutputDebugString()の出力をもらう 屋根裏部屋別館blog/ウェブリブログ」
http://messiah-annex.at.webry.info/2005 ... cle_2.html

なんらかのセキュリティレベルの問題でもあるのかなと言う気がしないでもないです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
nullptr
記事: 239
登録日時: 7年前

Re: OutputDebugStringが動かない

#7

投稿記事 by nullptr » 6年前

むむむ・・・。それは無駄に骨が折れますね・・・。
Windows依存な上に本格的なダンプに難がありますから、そこまでする気はないのですが。
しかし、2週間ほど前までちゃんと動いたものが動かないのは如何なものか・・・。ちょっとしたダンプには、使い勝手が良いのですが。

なんらかのセキュリティレベルの問題でもあるのかなと言う気がしないでもないです。
セキュリティとは・・・?
 
 
✜ で C ご ✜
: す + 注 :
¦ か + 文 ¦
?
Is the は :
order C++? ✜
     糸冬   
  ――――――――
  制作・著作 NHK
 
 

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: OutputDebugStringが動かない

#8

投稿記事 by softya(ソフト屋) » 6年前

> セキュリティとは・・・?

管理者権限とか、そう言う話です。

> しかし、2週間ほど前までちゃんと動いたものが動かないのは如何なものか・・・。ちょっとしたダンプには、使い勝手が良いのですが。

こういうのはWindowsUpdateとかウィルス対策ソフトが怪しいです。
とりあえず2012を修復インストールしてみるのも手です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
nullptr
記事: 239
登録日時: 7年前

Re: OutputDebugStringが動かない

#9

投稿記事 by nullptr » 6年前

UACとかメモリアクセスそういう話ですか、とりあえず管理者権限でVSを起動してみましたがそういうことじゃ解決しないですね

わかりました。修復してみます。
 
 
✜ で C ご ✜
: す + 注 :
¦ か + 文 ¦
?
Is the は :
order C++? ✜
     糸冬   
  ――――――――
  制作・著作 NHK
 
 

トントン
記事: 100
登録日時: 9年前

Re: OutputDebugStringが動かない

#10

投稿記事 by トントン » 6年前

実は見てる窓が違うとか。。。

アバター
nullptr
記事: 239
登録日時: 7年前

Re: OutputDebugStringが動かない

#11

投稿記事 by nullptr » 6年前

修復インストールしましたがダメです・・・。この症状はやはり私にしか起きていないのでしょうか。

出力ウィンドウは間違えてないと思います・・・。
 
 
✜ で C ご ✜
: す + 注 :
¦ か + 文 ¦
?
Is the は :
order C++? ✜
     糸冬   
  ――――――――
  制作・著作 NHK
 
 

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: OutputDebugStringが動かない

#12

投稿記事 by softya(ソフト屋) » 6年前

新月獅子 さんが書きました:修復インストールしましたがダメです・・・。この症状はやはり私にしか起きていないのでしょうか。

出力ウィンドウは間違えてないと思います・・・。
今回の場合の検証の問題点。
私はVS2012を起動することすら出来ない。 → 途中で異常終了する → 面倒で調べていない。
なので、申し訳ないですが私は検証出来ません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: OutputDebugStringが動かない

#13

投稿記事 by softya(ソフト屋) » 6年前

ここの質問は参考になりませんか?
「OutputDebugString() does not work on Windows 7x64 - Stack Overflow」
http://stackoverflow.com/questions/8234 ... ndows-7x64
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ISLe
記事: 2645
登録日時: 9年前
連絡を取る:

Re: OutputDebugStringが動かない

#14

投稿記事 by ISLe » 6年前

Windows 7 64bit と Visual Studio Express 2012 for Windows Desktop で最初のコードをデバッグ実行して出力されるのを確認しました。
SysinternalsのDebugViewにも出力されるのを確認しました。

ちなみにオプションでイミディエイトウィンドウに出力先を変更することも可能なので出力ウィンドウに表示されるとは限らないです。
デフォルトは出力ウィンドウですが。
修復インストールしても設定をリセットしなければオプションは引き継がれるはず。

アバター
nullptr
記事: 239
登録日時: 7年前

Re: OutputDebugStringが動かない

#15

投稿記事 by nullptr » 6年前

ISLe さんが書きました: ちなみにオプションでイミディエイトウィンドウに出力先を変更することも可能なので出力ウィンドウに表示されるとは限らないです。
デフォルトは出力ウィンドウですが。
修復インストールしても設定をリセットしなければオプションは引き継がれるはず。
イミディエイトウィンドウに出てました・・・!そういえば、少しオプションを設定したような・・・。

トントンさんの指摘のとおりでしたね。如何せん突然の数日間の作業できない環境だったので、完全に忘れていたようです。
ただ、オプションの解説もわかりにくいですね・・・。

[オプションと設定]>[デバッグ]>[全般]>[出力ウィンドウのすべての文字をイミディエイトウィンドウにリダイレクトする]

のチェックが入っていると、OutputDebugString「のみ」出力されるようです。というか、プログラム出力のみの出力ですね・・・。すべての文字を、と書いてはシンボルロードのメッセージもリダイレクトすると思うと思うんですが。
とはいえ解決しました。ソフト屋様、トントン様、ISLe様。些細な事にわざわざすいません。ご協力本当にありがとうございました。
 
 
✜ で C ご ✜
: す + 注 :
¦ か + 文 ¦
?
Is the は :
order C++? ✜
     糸冬   
  ――――――――
  制作・著作 NHK
 
 

閉鎖

“C言語何でも質問掲示板” へ戻る