Visual C# 2010 Express - dziwny problem

Visual C# 2010 Express - dziwny problem
SZ
  • Rejestracja: dni
  • Ostatnio: dni
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.

xeo545x39
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kosmos
  • Postów: 1571
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.

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
0

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

SZ
  • Rejestracja: dni
  • Ostatnio: dni
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.

allocer
  • Rejestracja: dni
  • Ostatnio: dni
0

A w Program.cs masz

Kopiuj
Application.Run(new Form1());

Czy może pusto w nawiasie?

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
0

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

SZ
  • Rejestracja: dni
  • Ostatnio: dni
0

Program.cs wygląda tak:

Kopiuj
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:

Kopiuj
public Form1()
        {
            InitializeComponent();
            NewGame();
        }
somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

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

allocer
  • Rejestracja: dni
  • Ostatnio: dni
0

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

SZ
  • Rejestracja: dni
  • Ostatnio: dni
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.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

A próbowałeś uruchomić projekt na innej maszynie?

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

Jeżeli program nie działa, to w 99% jest to wina programisty i jego kodu. Co do debug i release, to jesteś pewien, że wersja release nie jest to wcześniejsza działająca jeszcze wersja?

SZ
  • Rejestracja: dni
  • Ostatnio: dni
0

Program wygenerowany poleceniem Build Solution do katalogu Release działa bez zastrzeżeń i nie jest to stara wersja, wszystko kompiluje się na bieżąco, tzn. że wprowadzam poprawki do kodu i one są "uwzględniane" przy kompilacji. Natomiast program wygenerowany poleceniem Debug uruchamia się, bo jest widoczny na liście procesów (i zżera prawie 100% zasobów procesora) ale nie widać żadnych oznak jego działania. Nie pojawia się żadne okienko ani komunikat.

M4
  • Rejestracja: dni
  • Ostatnio: dni
0

Wrzuć kod tej funkcji NewGame() jeśli możesz :-)

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0
Szach napisał(a)

Natomiast program wygenerowany poleceniem Debug uruchamia się, bo jest widoczny na liście procesów (i zżera prawie 100% zasobów procesora) ale nie widać żadnych oznak jego działania. Nie pojawia się żadne okienko ani komunikat.

A jesteś w stanie przejść debugerem przez konstruktor Form1, a w szczególności metodę NewGame?

SZ
  • Rejestracja: dni
  • Ostatnio: dni
0
somekind napisał(a)

A jesteś w stanie przejść debugerem przez konstruktor Form1, a w szczególności metodę NewGame?

Tak, przechodzę przez cały program, a forma się nie pokazuje.

M4
  • Rejestracja: dni
  • Ostatnio: dni
0

Czy Twój program jest ściśle tajny? Czy możesz wrzucić jego źródła?

SZ
  • Rejestracja: dni
  • Ostatnio: dni
0

Dobra, mniejsza z tym. Ściągnąłem ze szkolnego MSDNAA Visual Studio 2010 Professional i przesiadłem się na nią z Express'a - tu wszystko działa.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Pod nickiem "Szach" ukrywa się chyba płemieł Tusk, bo wychodzi na to, że mamy tu do czynienia z cudem.

SZ
  • Rejestracja: dni
  • Ostatnio: dni
0

Jakim cudem? Nie, nie próbowałem przeinstalować Express'a. Skoro mam już Professional'a z niego będę korzystał.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.