0

Microsoft のサイトで、プログラムを 1 行ずつデバッグする場合は F11 キーを押す必要があることがわかりました。F11 キーを押すと、(Program.cs という名前の新しいフォームで) 次の情報が取得されます。

     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Windows.Forms;

     namespace WindowsFormsApplication1
    {
      static class Program
     {
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();  
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
    }
    }

彼らは、「コードをステップ実行すると、実行しようとしている行が強調表示される」と付け加えています。私の場合、強調表示されます:

       Application.EnableVisualStyles();

別の回線を選択する必要がありますか?

次に、[デバッグの停止] を選択して、コード エディターを書き込み可能にするように指示します。

この手順に従えば、変更は見られません。コンピューターが行ごとにデバッグする新しいフォームを表示する必要がありますか? 別のことをする必要がありますか?

私の質問がばかげているように思われる場合は、申し訳ありません。私はC#の初心者であることを理解してください。

どうもありがとう!

4

3 に答える 3

2

あなたの質問は、具体的な言語(タグ内)との関係が少なく、環境に関するものです。C#Visual Studio

押すと、行ごとではなく命令ごとF11に実行されます。次のようなコードを想像すると、次のようになります。

if(condition) { x++; DoSomething(); ...}、それを押すと、この行全体をジャンプするのF11はなく、実行します

  • 最初if
  • x++
  • DoSomething(..)

これはすべてコード内の同じ行にありますが、コンパイラの場合、これらは異なる命令です。

エディタを編集可能にしたい場合は、Pauseボタンを押すだけで十分です。しかし、ボタンをクリックするPause、現在の関数のスコープにlambda式がない場合に備えて、コードを変更することができますPause.

お役に立てれば。

于 2012-04-15T16:09:33.173 に答える
1

デバッグがどのように機能するかについて、いくつかのヒントが必要だと思います。

まず、デバッグするコードのどこかに単純なブレークポイント (Visual Studio ではF9 ) を挿入する必要があります。Form1 という名前のフォームを持つ Windows フォーム アプリケーションがあるとします。このフォームには、クリックすると何かを実行する Button があります。次のようなものがあります。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        doSomething(...);
    }
}

ボタンをクリックしたときにプログラムの実行を停止するには (何が起こっているかを正確に確認できるようにするため)、クリック イベントにブレークポイントを設定できます。そこにブレークポイントを設定すると、クリック イベントが発生するたびにプログラムが停止し、段階的に実行できるようになります。

ステップごとに実行することで、変数のステータスと保存したデータを確認できます。そのため、コードが予想とは異なる動作を開始する場所を見つけることができます (これは通常バグと呼ばれます)。

これを行うには、プログラムの手順を手順ごと( F10 ) または命令ごと( F11 ) に実行できます。F10 は関数呼び出しを飛び越え、終了するまで実行します。F11 は関数呼び出しに入り、その中のすべての命令を段階的に実行します。

于 2012-04-15T16:57:42.707 に答える
0

デバッグ ポイント (またはブレークポイント) をマークしてから、プログラムのデバッグを開始する必要があります。私の意見では、プログラムの行ごとにデバッグを開始することはお勧めしません。例外をスローする部分だけをデバッグし、そのためにプログラムにブレークポイントをマークする必要があります (方法: http://msdn.microsoft.com/ en-us/library/k80ex6de.aspx )。プログラムがその行に到達すると、デバッガーは必要に応じて行ごとに詳細なデバッグを開始します。

于 2012-04-15T16:07:58.340 に答える