- - PR -
実行中のメソッド名を取得する方法について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-08-02 23:44
C#で開発を行っているアプリがあるのですが、
試験中にフリーズしてしまうことがあります。 たいていはバグで無限ループに陥っていますが、 原因がわかるまでに時間がかかります。 すばやく見つけるために、実行中(無限ループしている)の メソッド名が取得できればと思うのですが、取得方法はないでしょうか? ただし、試験中といっても、デバッグではないので、Visual Studioの デバッグモードは使用できません。 JAVAであれば、シグナルを送信することでスレッドダンプを取得できるので、 簡単に原因箇所がわかるのですが、.NETでの取得方法がわかりません。 どなかをご存知のかた、ご教授ください。 |
|
投稿日時: 2007-08-03 01:42
スレッド タイトルはそれとは違いますが答えはこちらにあります。過去ログには数スレッド類似の話題があるかと思います。
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
|
投稿日時: 2007-08-03 02:54
いや、そういうことではないのでは…
CLRで何かそういう機構ってあったかな? 外部からデバッガでアタッチしてとめるとか? --追記 いや、とめたら駄目なんですよね、きっと。 アタッチしてスレッド情報だけなんらかの方法で取り出してデタッチとか できるんですかね? デバッグ系はまったく無知なので何ができて何ができないのか、 どういう問題があるのか等、ちょっとわからないです。 スレッドダンプみたいなのを取れる機能があるならそれが一番いいんでしょうけど… [ メッセージ編集済み 編集者: なちゃ 編集日時 2007-08-03 02:59 ] |
|
投稿日時: 2007-08-03 07:14
単純に、デバッガで「すべて中断」するのでは駄目なんですか?
|
|
投稿日時: 2007-08-03 09:27
ああ... すみません。 何だか件名だけで回答しているかのような書き込みをしていました。 止めてしまってはダメとなると無知なためまったくわからないです。orz
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
|
投稿日時: 2007-08-03 09:41
じゃんぬさんの提示された方法でメソッド名を取れるので、
各メソッドでログを出力するようにしておいて、 問題発生時はログを見ればOKではないでしょうか。 |
1