Visual C# 2010 Express - dziwny problem

0

Witam serdecznie,

od razu przejdę do rzeczy. Otóż programuję sobie w Visual C# 2010 Express i wszystko byłoby fajnie, gdyby nie mały problem. Mianowicie normalne zachowanie Visual'a po naciśnięciu F5 (debugging) dla aplikacji okienkowych (Windows Forms) jest takie, że pojawia się główne okienko programu i program czeka na reakcję użytkownika (zakładam, że nie przetwarza on żadnych skomplikowanych danych na starcie). I tak właśnie było do pewnego momentu. Otóż od jakiegoś czasu po naciśnięciu F5 dla aplikacji, nad którą obecnie pracuję główne okienko się nie pojawia. Za to proces [nazwia_programu].vshost.exe zaczyna zżerać niemalże 100% zasobów procesora. Oczywiście z poziomu Visual'a mogę zakończyć debugowanie i program przechodzi w tryb projektowania. Dodam jeszcze, że pozostałe aplikacje, nad którymi pracowałem wcześniej zachowują się normalnie, czyli problem jest z jedną konkretną solucją, która jeszcze dzisiaj w południe kompilowała i debugowała się normalnie, natomiast teraz już się nie pojawia. Czy ktoś z Was miał taki problem. Na koniec dodam, że nie dokonywałem żadnych zmian w ustawieniach. Zwyczajnie pisałem jakieś kawałki kodu i od pewnego momentu zaistniała opisana sytuacja. Proszę o pomoc.

0

Czyli piszesz w na WinForms? Przeanalizuj co dodałeś i ew. spróbuj tymczasowo usunąć ten dodany fragment kodu i zobacz czy się poprawiło czy nie. Ja zawsze tak mam, ale tylko przez chwilę, jak debugger ma wywalić błąd.

0

Zapewne w tym dodanym kodzie się gdzieś zapętlasz i dlatego program zwisa.

0

To nie jest problem z zapętlaniem, ponieważ gdy nacisnę F6 (Build Solution) to wszystko się ładnie kompiluje, a aplikacja z podkatalogu Release normalnie się odpala i działa. Nie odpala się za to aplikacja z podkatalogu Debug. To znaczy odpala się, bo pojawia się na liście procesów (w menadżerze procesów) i pochłania prawie 100% zasobów procesora, ale jej nie widać, żadne okienko się nie pojawia.

0

A w Program.cs masz

Application.Run(new Form1());

Czy może pusto w nawiasie?

0

To zbuduj aplikację w konfiguracji Release i sprawdź.
Pokaż kod odpowiedzialny za inicjalizację głównej formy.

0

Program.cs wygląda tak:

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

namespace WindowsFormsApplication5
{
    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());
        }
    }
}

a konstruktor formy (w pliku Form1.cs) tak:

public Form1()
        {
            InitializeComponent();
            NewGame();
        }
0

A co robi metoda NewGame?
BTW, wiesz, że w konstruktorze formy lepiej nie umieszczać kodu, który może się wywalić?

0

W tym całym NewGame();, nie masz przypadkiem wstawionego ukrywania formy?

0

NewGame() nie ma nic do rzeczy, ponieważ tak jak powiedziałem, gdy zbuduję solucję to aplikację z katalogu Release mogę normalnie odpalić i wszystko działa. Nie mogę odpalić aplikacji z katalogu Debug.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0