2

私はC#を初めて使用しますが、これは私の最初のプログラムの一種です。OVH.IEのSOAPIを統合しようとしています(詳細はこちら:www.ovh.ie/products/soapi.xml)が、プログラムを起動してログインボタンをクリックすると、プログラムがクラッシュします(VS2012のメモリ使用量が増加し、その後、クラッシュします)。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Web.Services;

namespace Server_Manager
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void button2_Click(object sender, EventArgs e)
    {
        textBox1.Clear();
        textBox2.Clear(); 
    }

    void login(string uid, string pwd, string dc)
    {
        if (dc == "OVH")
        {
            managerService soapi = new managerService();
            string session = soapi.login(uid, pwd, "ie", false);
            if (String.IsNullOrWhiteSpace(session))
            {
                MessageBox.Show("Not Logged");
            }
            else
            {
                MessageBox.Show("Logged In");
            }
        }

    }

    private void button1_Click(object sender, EventArgs e)
    {
        if (String.IsNullOrWhiteSpace(textBox1.Text) || String.IsNullOrWhiteSpace(textBox1.Text))
        {
            MessageBox.Show("Please Fill all the Details");
        }
        else
        {
            string uid, pwd, dc;
            uid = textBox1.Text;
            pwd = textBox2.Text;
            dc = comboBox1.Text;
            login(uid,pwd,dc);
        }
        MessageBox.Show(comboBox1.Text);
    }
}
}
4

1 に答える 1

0

これらの手順は、MicrosoftのコマンドラインベースのデバッガーであるWinDBGでこれを診断するためのものですが、VisualStudioで動作できると言われています。

  1. アプリケーションを起動します
  2. WinDBGを起動し、アプリケーションに接続します
  3. 「.loadbysosclr」と入力します(フレームワークが4.0以上であると想定)
  4. 「dumpheap-stat」と入力します
  5. 結果を確認します。疑わしいオブジェクトについては、「dumpheap -mt {0}"」と入力します。ここで、{0}はオブジェクトのMTアドレスに置き換えられます。
  6. オブジェクトが生きている理由がわからない場合は、「gcroot {0}"」と入力して、上からオブジェクトアドレスを渡します。
于 2012-12-02T06:15:40.913 に答える