<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Debug Error</title>
		<link>http://www.allegro.cc/forums/view/609346</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 22 Jan 2012 01:07:35 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Every time I debug my project it fails to appear.  An error message pops up and  states a &quot;debug error&quot; occurred and gives me the option to either abort or Retry. When I choose to Retry another message pops up telling me &quot;MYPROJECT has triggered a breakpoint&quot;. I don&#39;t know what this means. </p><p>Here are other output errors:
</p><pre class="terminal scroll">&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\Documents and Settings\Family\My Documents\Visual Studio 2010\Projects\Ultimate Pong\Debug\Ultimate Pong.exe&#39;, Symbols loaded.
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\ntdll.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\kernel32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\Program Files\AVAST Software\Avast\snxhk.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\Allegro\bin\allegro-5.0.5-monolith-md-debug.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.5512_x-ww_dfb54e0c\GdiPlus.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\advapi32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\rpcrt4.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\secur32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\gdi32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\user32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\ole32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\msvcrt.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\shell32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\shlwapi.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\winmm.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\psapi.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\opengl32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\glu32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\ddraw.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\dciman32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\comdlg32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\comctl32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\msvcr100d.dll&#39;, Symbols loaded.
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\shimeng.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\imm32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Unloaded &#39;C:\WINDOWS\system32\shimeng.dll&#39;
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\d3d9.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\d3d8thk.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\version.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\uxtheme.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\d3dref9.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\msctf.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\apphelp.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\msctfime.ime&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\mslbui.dll&#39;, Cannot find or open the PDB file
&#39;Ultimate Pong.exe&#39;: Loaded &#39;C:\WINDOWS\system32\oleaut32.dll&#39;, Cannot find or open the PDB file
The thread &#39;Win32 Thread&#39; (0xa90) has exited with code 3 (0x3).
The program &#39;[3052] Ultimate Pong.exe: Native&#39; has exited with code 3 (0x3).</pre><p>

Here is my source code:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="p">#include &lt;allegro5\allegro.h&gt;</span>
<span class="number">  2</span><span class="p">#include &lt;allegro5\allegro_primitives.h&gt;</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  5</span><span class="k2">{</span>
<span class="number">  6</span>  <span class="k1">int</span> player1_x <span class="k3">=</span> <span class="n">50</span><span class="k2">;</span>
<span class="number">  7</span>  <span class="k1">int</span> player1_y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number">  8</span>
<span class="number">  9</span>  <span class="k1">int</span> player2_x <span class="k3">=</span> <span class="n">850</span><span class="k2">;</span>
<span class="number"> 10</span>  <span class="k1">int</span> player2_y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 11</span>
<span class="number"> 12</span>  <span class="k1">int</span> ball_x <span class="k3">=</span> <span class="n">454</span><span class="k2">;</span>
<span class="number"> 13</span>  <span class="k1">int</span> ball_y <span class="k3">=</span> <span class="n">350</span><span class="k2">;</span>
<span class="number"> 14</span>  <span class="k1">int</span> ball_rad <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 15</span>
<span class="number"> 16</span>  <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 17</span>  
<span class="number"> 18</span>  <a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Initializes the allegro program        </span>
<span class="number"> 19</span>  <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_WINDOWED<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>  
<span class="number"> 21</span>        <a href="http://www.allegro.cc/manual/al_set_new_display_refresh_rate"><span class="a">al_set_new_display_refresh_rate</span></a><span class="k2">(</span><span class="n">60</span><span class="k2">)</span><span class="k2">;</span>     <span class="c">// The refresh rate for display</span>
<span class="number"> 22</span>  
<span class="number"> 23</span>      <span class="c">//Makes the display window the width and height</span>
<span class="number"> 24</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span> <span class="n">900</span>,<span class="n">800</span><span class="k2">)</span><span class="k2">;</span>   
<span class="number"> 25</span>       
<span class="number"> 26</span>      <span class="c">// Places "Ultimate Pong" on the window </span>
<span class="number"> 27</span>  <a href="http://www.allegro.cc/manual/al_set_window_title"><span class="a">al_set_window_title</span></a><span class="k2">(</span>display,<span class="s">"Ultimate Pong"</span><span class="k2">)</span><span class="k2">;</span>     
<span class="number"> 28</span>  
<span class="number"> 29</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue <span class="k3">=</span> NULL<span class="k2">;</span> <span class="c">// Creating the event queue</span>
<span class="number"> 30</span>  event_queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</span>   <span class="c">// Registers so it can be place keyboard input on the queue</span>
<span class="number"> 32</span>
<span class="number"> 33</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</span>
<span class="number"> 35</span>       <span class="c">// Initializes primitives</span>
<span class="number"> 36</span>  <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>                                
<span class="number"> 37</span>       
<span class="number"> 38</span>        <a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// Initializes keyboard device for user input</span>
<span class="number"> 39</span>
<span class="number"> 40</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span>
<span class="number"> 41</span>  <span class="k2">{</span>
<span class="number"> 42</span>  
<span class="number"> 43</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>                                <span class="c">// Control Events</span>
<span class="number"> 44</span>      <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>event_queue, <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 45</span>
<span class="number"> 46</span>      <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_DOWN<span class="k2">)</span>
<span class="number"> 47</span>      <span class="k2">{</span>
<span class="number"> 48</span>     
<span class="number"> 49</span>       <span class="k1">switch</span><span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span>
<span class="number"> 50</span>       <span class="k2">{</span>
<span class="number"> 51</span>       
<span class="number"> 52</span>       <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number"> 53</span>         player1_y <span class="k3">-</span><span class="k3">=</span> <span class="n">20</span><span class="k2">;</span>
<span class="number"> 54</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 55</span>
<span class="number"> 56</span>       <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number"> 57</span>         player1_y <span class="k3">+</span><span class="k3">=</span> <span class="n">20</span><span class="k2">;</span>
<span class="number"> 58</span>       
<span class="number"> 59</span>       <span class="k2">}</span>
<span class="number"> 60</span>      <span class="k2">}</span>
<span class="number"> 61</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_UP<span class="k2">)</span>
<span class="number"> 62</span>      <span class="k2">{</span>
<span class="number"> 63</span>        <span class="k1">if</span><span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 64</span>          done <span class="k3">=</span> TRUE<span class="k2">;</span>
<span class="number"> 65</span>      <span class="k2">}</span>
<span class="number"> 66</span>  
<span class="number"> 67</span>  
<span class="number"> 68</span>  <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>player1_x , player1_y, player1_x <span class="k3">+</span> <span class="n">10</span>, player1_y <span class="k3">-</span> <span class="n">100</span>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">99</span>,<span class="n">99</span>,<span class="n">100</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>        <span class="c">// Paddle number 1 </span>
<span class="number"> 69</span>  
<span class="number"> 70</span>    <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>player2_x, player2_y, player2_x <span class="k3">+</span> <span class="n">10</span>, player2_y,<a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">99</span>,<span class="n">99</span>,<span class="n">100</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>       <span class="c">// Paddle number 2</span>
<span class="number"> 71</span>       
<span class="number"> 72</span>  <span class="c">// Ball</span>
<span class="number"> 73</span>  <a href="http://www.allegro.cc/manual/al_draw_filled_circle"><span class="a">al_draw_filled_circle</span></a><span class="k2">(</span>ball_x, ball_y, ball_rad,<a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">250</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>               
<span class="number"> 74</span>  
<span class="number"> 75</span><span class="c">// Helps what has been drawn visible on screen. Switches from blank screen to the actually image </span>
<span class="number"> 76</span>  <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>  
<span class="number"> 77</span>  
<span class="number"> 78</span>    <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 79</span>  
<span class="number"> 80</span>  <span class="k2">}</span>
<span class="number"> 81</span>
<span class="number"> 82</span>  <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 83</span>  <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span> <span class="c">// Destroys the display</span>
<span class="number"> 84</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 85</span><span class="k2">}</span>
</div></div><p>
I need help understanding what the problem is.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Czar05)</author>
		<pubDate>Sat, 21 Jan 2012 13:21:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You need to install the keyboard before you use it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 21 Jan 2012 14:05:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
I placed the al_install_keyboard after the display. The primitives appear (thanks), but the program is not accepting any input. Any ideas.</p><p>#include &lt;allegro5\allegro.h&gt;<br />#include &lt;allegro5\allegro_primitives.h&gt;</p><p>int main()<br />{<br />	int player1_x = 50;<br />	int player1_y = 400;</p><p>	int player2_x = 850;<br />	int player2_y = 400;</p><p>	int ball_x = 454;<br />	int ball_y = 350;<br />	int ball_rad = 10;</p><p>	bool done = false;<br />	<br />         //Initializes the allegro program   <br />	al_init();      <br />	al_set_new_display_flags(ALLEGRO_WINDOWED);<br />	al_set_new_display_refresh_rate(60);     // The refresh rate for display<br />	<br />       //Makes the display window the width and height<br />	ALLEGRO_DISPLAY *display = al_create_display( 900,800);   <br />     <br />     // Places &quot;Ultimate Pong&quot; on the window <br />	al_set_window_title(display,&quot;Ultimate Pong&quot;);     <br />	<br />     // Initializes keyboard device for user input<br />	al_install_keyboard();  <br />       <br />       // Creating the event queue<br />	event_queue = al_create_event_queue();<br />	<br />     ALLEGRO_EVENT_QUEUE *event_queue = NULL; <br />   <br /> <br />// Registers so it can be place keyboard input on the queue<br />al_register_event_source(event_queue, al_get_keyboard_event_source());</p><p>    <br />	// Initializes primitives<br />    al_init_primitives_addon();                                <br />    <br />	while(!done)<br />	{<br />	<br />	      ALLEGRO_EVENT ev;<br />		  al_wait_for_event(event_queue, &amp;ev);</p><p>		  if(ev.type == ALLEGRO_KEY_DOWN)<br />		  {<br />		 <br />		   switch(ev.keyboard.keycode)<br />		   {<br />		   <br />		   case ALLEGRO_KEY_LEFT:<br />			   player1_y -= 20;<br />			   break;</p><p>		   case ALLEGRO_KEY_RIGHT:<br />			   player1_y += 20;<br />		   <br />		   }<br />		  }<br />		  else if(ev.type == ALLEGRO_KEY_UP)<br />		  {<br />			  if(ev.keyboard.keycode == ALLEGRO_KEY_ESCAPE)<br />				  done = true;<br />		  }<br />	<br />	// Paddle number 1 <br />	al_draw_filled_rectangle(player1_x , player1_y, player1_x + 10, player1_y - 100, al_map_rgb(99,99,100));        <br />	<br />     // Paddle number 2<br />    al_draw_filled_rectangle(player2_x, player2_y, player2_x + 10, player2_y,al_map_rgb(99,99,100));      <br />        <br />        // Ball<br />	al_draw_filled_circle(ball_x, ball_y, ball_rad,al_map_rgb(250,0,0));               <br />	<br />       // Helps what has been drawn visible on screen. Switches from blank screen      to the actually image <br />	al_flip_display();  /<br />	al_clear_to_color(al_map_rgb(0,0,0));<br />	<br />	}</p><p>	al_destroy_event_queue(event_queue);<br />	al_destroy_display(display); // Destroys the display<br />    return 0;<br />}
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Czar05)</author>
		<pubDate>Sun, 22 Jan 2012 00:00:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Use tags to format your code when posting. Click the formatting help button for the syntax.</p><p><span class="source-code">ev.type</span> needs to be <span class="source-code">ALLEGRO_EVENT_KEY_DOWN</span>.</p><p>You are using <span class="source-code">ALLEGRO_KEY_DOWN</span> which is just a constant that represents a keycode for the &quot;down&quot; key.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 22 Jan 2012 01:07:35 +0000</pubDate>
	</item>
</rss>
