• 0

[C#] Debug mode works, Start without debugging fails


Question

I have an app which works great (and as expected) when I start and run it in debug mode in VS 2008 Pro. However, when I try to "Start without debugging", the app is a bust. Here's what happens:

  1. I start the program
  2. I start the main part of my program by pushing a button
  3. The operations seem to work fine for a second, but then they don't stop when expected.
  4. Instead, the app starts using nearly 100% of the CPU and when I close it ("X" button) it still keeps running. I have to kill it through the Task Manager.

I'm not sure how to debug this, since (ahhh!) I'm running it without debugging!

Does anyone know how to debug this or has anyone faced similar circumstances? I've looked online and have found next to nothing.

19 answers to this question

Recommended Posts

  • 0

Yes, it does take 100% CPU from the debug folder. This is actually how I originally saw the problem, because I didn't want to load VS to run the program, so I tried running the exe from the debug folder and noticed the problem. Does this information suggest a certain problem?

  • 0

I have this in one of the threads:

		private void ....
		{
				.....
				WaitFor(4);
				.....
		}

		private void WaitFor(double seconds)
		{
			DateTime t = DateTime.Now.AddSeconds(seconds);
			while (DateTime.Now < t)
			{
				Application.DoEvents();
			}
		}

I know this isn't great design, but needless to say events don't easily work in this situation so I'm stuck with this for now. Could this be causing the 100% CPU usage or cause the app to hang (for more than 4 seconds) and not work?

Thanks for your continued help :-)

  • 0

Actually, it's not my thread loop. It's in one of the threads that is running. Can you explain why I should use Sleep() instead of using "busy waiting + Application.DoEvents()"? I'm not quite sure what you're getting at.

I tried your suggestion and it breaks my application as I need the program running and "doing events", but I still need to wait for some amount of time. If I can avoid it, I don't want to have to wire up events as it will mean re-writing a good amount of my code. Any more ideas :-)

  • 0

		private void ....
		{
				.....
				WaitFor(4);
				.....
		}

		private void WaitFor(double seconds)
		{
			DateTime t = DateTime.Now.AddSeconds(seconds);
			while (DateTime.Now < t)
			{
				Application.DoEvents();
				Thread.Sleep(1);
			}
		}

Try this way. It should do events and not waste 100% CPU.

  • 0

Application.DoEvents() doesn't wait if there's nothing the Application engine needs to do. Put the Thread.Sleep() in and you should be good. It sounds like your background thread is eating up all the time. (I usually use Thread.Sleep(500) but I guess 1 should work ok.)

You can also use a System.Timer to call a delegate after the elapsed time.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Jesus…. dont you know who Jesus is? my god… are you for real?
    • Nope not when you are close to being worth a trillion dollars stop being a simp for billionaires
    • Detective game 'The Operator' is free to claim on the Epic Games Store this week by Pulasthi Ariyasinghe The Epic Games Store's weekly giveaways promotion has just refreshed. Last week's offer of Two Point Hospital has now gone away, and to take its place, the store has brought in The Operator, a detective puzzle game developed by Bureau 81. As always, you have seven days to add the latest game permanently to your Epic Games Store library. Released in 2024, The Operator comes touting an investigation story that puts you into the shoes of a new hire at the Federal Department of Intelligence (FDI), where you are tasked with analyzing evidence, fact-checking, and solving a streak of mysterious crimes using the agency's advanced investigative software. Everything from murders and missing people to cyberattacks are the sort of crimes you'll be investigating throughout the game, all using the agency's unique software console to dig through evidence and personal data. As the story progresses, a conspiracy also comes through from another hacker that paints the FDI in a different light. Here's how the studio teases the hacker's existence even in the game description: The Operator giveaway on the Epic Games Store is now active, and it will last until June 26. When it's not on sale, the game costs $13.99 to purchase, but PC gamers can add it to their library for no cost during the seven-day timeframe. Another PC game will come in as the next freebie on the same day that this entry expires.
    • In Steam, you don't have to bring performance info with some kb combo, it is always there, displayed. A problem with MS design is needs to do a KB combo...that's the problem. XBOX app is a bloatware garbage I remove right away...helps with memory latency.
    • Mangohud has also been doing this since the dawn of time. However, when was the last time the XBOX game bar showed frames from frame generation? Oh, yes. Never.
  • Recent Achievements

    • First Post
      MikeK13 earned a badge
      First Post
    • One Month Later
      OHI Accounting earned a badge
      One Month Later
    • Week One Done
      OHI Accounting earned a badge
      Week One Done
    • First Post
      Thornskade earned a badge
      First Post
    • Week One Done
      Higante88 earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      714
    2. 2
      ATLien_0
      272
    3. 3
      Michael Scrip
      203
    4. 4
      +FloatingFatMan
      180
    5. 5
      Steven P.
      128
  • Tell a friend

    Love Neowin? Tell a friend!