@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

現在の場所のソースコードが表示できません

投稿者投稿内容
sora
会議室デビュー日: 2004/10/16
投稿数: 17
投稿日時: 2005-12-23 13:44
現在以下のようなエラーメッセージがでてしまいこまっています

'System.NullReferenceException' のハンドルされていない例外が 不明なモジュールです。 で発生しました。

追加情報 : オブジェクト参照がオブジェクト インスタンスに設定されていません。

つづけて中断ボタンを押下すると

現在の場所のソースコードを表示できません

とういうメッセージボックスが表示されます。

現象がでるタイミングは、実行後画面がちょっと表示されてから
メッセージボックスが表示されます。

どなたかこのような現象の経験はありませんか?
よろしくお願いします

環境
Windows XP pro sp2
Visual Studio .NET 2003
Microsoft .NET Framework 1.1
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-12-23 14:33
こんにちは。

例外が発生しているモジュールのソースコードがないからでしょう。
そのモジュールに不具合があるか、そのモジュールが予期していない引数(null)を sora さんが渡しているからでしょう。
前者の場合は論外ですが、後者の場合だっとしても、引数チェックをして優しい例外をスローしてほしいものです。
_________________
囚人のジレンマな日々
sora
会議室デビュー日: 2004/10/16
投稿数: 17
投稿日時: 2005-12-23 14:59
囚人さん、返答ありがとうございます。

引用:
例外が発生しているモジュールのソースコードがないからでしょう。


これなないです。

引用:
そのモジュールに不具合があるか、そのモジュールが予期していない引数(null)を sora さんが渡しているからでしょう


なにかのアクションを起こしたときにエラーが発生するのならわかるのですが
Application.Run(NEW FORM1())が実行された後におきています。
画面が1秒ぐらい表示されて突然おこります。

アプリケーションはWindows Formです。
言語はC#です

どうぞよろしくおねがいします
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-12-23 15:30
引用:

これなないです。


何故言い切れるのですか?
極端な話、mscorlib.dll を使っているでしょうけど、ソースコードを持っていませんよね?
十分にあり得る話だと思うのですが。.NET Framework クラス ライブラリ以外のアセンブリを参照していませんか?

引用:

なにかのアクションを起こしたときにエラーが発生するのならわかるのですが
Application.Run(NEW FORM1())が実行された後におきています。
画面が1秒ぐらい表示されて突然おこります。


情報がやや少ないです。FORM1 の問題が起こっていそうなコードを出してもらっても構わないでしょうか?
_________________
囚人のジレンマな日々
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-23 17:39
とりあえず、初回例外で止めてみましょう。
そこは多分、mscorlib.dll だったりします。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2005-12-23 21:39
引用:

囚人さんの書き込み (2005-12-23 15:30) より:
引用:

これなないです。


何故言い切れるのですか?
極端な話、mscorlib.dll を使っているでしょうけど、ソースコードを持っていませんよね?
十分にあり得る話だと思うのですが。.NET Framework クラス ライブラリ以外のアセンブリを参照していませんか?


「ソースコードは持ってない」てことでないですか、たぶん?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-24 01:57
引用:

soraさんの書き込み (2005-12-23 14:59) より:

なにかのアクションを起こしたときにエラーが発生するのならわかるのですが
Application.Run(NEW FORM1())が実行された後におきています。
画面が1秒ぐらい表示されて突然おこります。


囚人さんの提案も良いのですが、私は私なりの提案を。

まずエントリ ポイントのソースを提示してください。
例外でストップする場合に、どの行が背景緑になりますか?
(Application.Run(NEW FORM1()) ではないですよね)

そこを追えば (目で良いので) おのずと判る問題ではありますが。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
sora
会議室デビュー日: 2004/10/16
投稿数: 17
投稿日時: 2005-12-26 09:25
囚人さん、なちゃさん、じゃんぬねっとさん返信ありがとうございます。
返信がおそくなりすいません。


引用:
何故言い切れるのですか?
極端な話、mscorlib.dll を使っているでしょうけど、ソースコードを持っていませんよね?
十分にあり得る話だと思うのですが。.NET Framework クラス ライブラリ以外のアセンブリを参照していませんか?


すいません。内容を理解していませんでした。

いろいろとTry〜catchをつけたりとためしましたがエラーがとれませんでしたので
ひとつひとつコンメントにして検証した結果原因がこれだろうと思う箇所が
ありました。

今回のプログラムは印刷系のプログラムでおきています。
画面にコンボボックスを設定し、そこにプリンター一覧を表示させています。
設定している箇所がフォームのコンストラクタ内で設定しています。
この部分をコメントにすると現象がおきなくなりました。

他のプログラムでおきていないのはたまたま だとおもいますのでLoadで記述するようにしました。

コンストラクタ内でこのような設定をしてはいけないのでしょうか?
たしかにコンボボックスのリストインデックスを-1にしても初期化されなかったのでLoadでおこなったりしています。
勉強不足で原因の説明はできませんがこのような事はしちゃだめな事一覧に追加したいとおもいます。

スキルアップ/キャリアアップ(JOB@IT)