<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>gdb hell</title>
		<link>http://www.allegro.cc/forums/view/616351</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 22 Jun 2016 03:25:58 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What good do things like this do me?</p><div class="source-code snippet"><div class="inner"><pre><span class="k2">(</span>gdb<span class="k2">)</span> bt
<span class="p">#0  0x0040460c in AbortHandler () at C:\ctwoplus\progcode\ManyMouse\src\RawInputMain.cpp:23</span>
<span class="p">#1  0x73e37720 in raise () from C:\WINDOWS\SysWOW64\msvcrt.dll</span>
<span class="p">#2  0x00000016 in ?? ()</span>
<span class="p">#3  0xe071adbb in ?? ()</span>
<span class="p">#4  0x73e91248 in msvcrt!_iob () from C:\WINDOWS\SysWOW64\msvcrt.dll</span>
<div class="highlight"><span class="n">5</span>  <span class="n">0x6775ced0</span> in __func__.35133 <span class="k2">(</span><span class="k2">)</span> from c:\ctwoplus\progcode\ManyMouse\cbbuild\bin\allegro_monolith-debug-5.2.dll </div>
<span class="p">#6  0x00000000 in ?? ()</span>
</pre></div></div><p>

</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="k2">(</span>gdb<span class="k2">)</span> bt
<span class="number">  2</span><span class="p">#0  0x675b64c5 in al_set_target_bitmap (bitmap=0x287aba8) at C:\LIBS\A5GIT\allegro5\src\tls.c:444</span>
<span class="number">  3</span><span class="p">#1  0x675b660f in al_set_target_backbuffer (display=0x287a948) at C:\LIBS\A5GIT\allegro5\src\tls.c:493</span>
<span class="number">  4</span><span class="p">#2  0x64887685 in TransparentWindow::SetWindowImage (this=0xc710ad0, img=0x7fec00) at C:\ctwoplus\progcode\ManyMouse\src\TransparentWindow.cpp:248</span>
<span class="number">  5</span><span class="p">#3  0x64882a11 in Mouse::SetImage (this=0xc710ad0, mouse_image=0x7fec00) at C:\ctwoplus\progcode\ManyMouse\src\Mouse.cpp:114</span>
<span class="number">  6</span><span class="p">#4  0x6488596a in HeavyMouseStrategy::SetHeavyMouseStrategyState (this=0x68fab0, new_state=HEAVY_MOUSE_STATE_GRABBING) at C:\ctwoplus\progcode\ManyMouse\src\MouseStrategyHeavy.cpp:239</span>
<span class="number">  7</span><span class="p">#5  0x64884f40 in HeavyMouseStrategy::HandleInput (this=0x68fab0, input=..., process_input=true) at C:\ctwoplus\progcode\ManyMouse\src\MouseStrategyHeavy.cpp:81</span>
<span class="number">  8</span><span class="p">#6  0x64884d00 in HeavyMouseStrategy::HandleInput (this=0x68fab0, input=...) at C:\ctwoplus\progcode\ManyMouse\src\MouseStrategyHeavy.cpp:26</span>
<span class="number">  9</span><span class="p">#7  0x6488359e in MouseController::HandleRawInput (this=0x68fa68, rawinput=...) at C:\ctwoplus\progcode\ManyMouse\src\MouseController.cpp:156</span>
<div class="highlight"><span class="number"> 10</span><span class="n">8</span>  <span class="n">0x004045d5</span> in _fu68___ZN9ManyMouse3logE <span class="k2">(</span><span class="k2">)</span> at C:\ctwoplus\progcode\ManyMouse\src\RawInputHandler.cpp:1399 </div><div class="highlight"><span class="number"> 11</span><span class="n">9</span>  <span class="n">0x004041e8</span> in _fu60___ZN9ManyMouse3logE <span class="k2">(</span><span class="k2">)</span> at C:\ctwoplus\progcode\ManyMouse\src\RawInputHandler.cpp:1201 </div><div class="highlight"><span class="number"> 12</span><span class="n">10</span> <span class="n">0x0040177a</span> in _fu0___ZN9ManyMouse3logE <span class="k2">(</span><span class="k2">)</span> at C:\ctwoplus\progcode\ManyMouse\src\RawInputHandler.cpp:44 </div><span class="number"> 13</span><span class="p">#11 0x67624b7e in window_callback (hWnd=0xd3425a, message=255, wParam=0, lParam=87378171) at C:\LIBS\A5GIT\allegro5\src\win\wwindow.c:438</span>
<span class="number"> 14</span><span class="p">#12 0x749384f3 in USER32!SetManipulationInputTarget () from C:\WINDOWS\SysWOW64\user32.dll</span>
<span class="number"> 15</span><span class="p">#13 0x74916c40 in USER32!CallWindowProcW () from C:\WINDOWS\SysWOW64\user32.dll</span>
<span class="number"> 16</span><span class="p">#14 0x74916541 in USER32!DispatchMessageW () from C:\WINDOWS\SysWOW64\user32.dll</span>
<span class="number"> 17</span><span class="p">#15 0x74916300 in USER32!DispatchMessageW () from C:\WINDOWS\SysWOW64\user32.dll</span>
<span class="number"> 18</span><span class="p">#16 0x6762ed38 in d3d_display_thread_proc (arg=0x68f698) at C:\LIBS\A5GIT\allegro5\src\win\d3d_disp.cpp:1468</span>
<span class="number"> 19</span><span class="p">#17 0x675b4554 in detached_thread_func_trampoline (inner=0x27c51e0, _outer=0x27c51e0) at C:\LIBS\A5GIT\allegro5\src\threads.c:94</span>
<span class="number"> 20</span><span class="p">#18 0x6762773c in thread_proc_trampoline (data=0x27c51e0) at C:\LIBS\A5GIT\allegro5\src\win\wxthread.c:33</span>
<span class="number"> 21</span><span class="p">#19 0x73e471e6 in msvcrt!_beginthreadex () from C:\WINDOWS\SysWOW64\msvcrt.dll</span>
<span class="number"> 22</span><span class="p">#20 0x73e472b1 in msvcrt!_endthreadex () from C:\WINDOWS\SysWOW64\msvcrt.dll</span>
<span class="number"> 23</span><span class="p">#21 0x747038f4 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SysWOW64\kernel32.dll</span>
<div class="highlight"><span class="number"> 24</span><span class="n">22</span> <span class="n">0x77095de3</span> in ?? <span class="k2">(</span><span class="k2">)</span> </div><div class="highlight"><span class="number"> 25</span><span class="n">23</span> <span class="n">0x77095dae</span> in ?? <span class="k2">(</span><span class="k2">)</span> </div><div class="highlight"><span class="number"> 26</span><span class="n">24</span> <span class="n">0x00000000</span> in ?? <span class="k2">(</span><span class="k2">)</span> </div></div></div><p>

At least some of the ones in this come with line numbers. Which makes it even more mystifiying as to why gdb doesn&#39;t know which function it is in.</p><p>Is there any way to figure out what functions these are? I seem to have hit my limit with gdb. And it has so many quirks that I just can&#39;t figure out yet.</p><p>As an aside I discovered process / record ability of gdb, but guess what it&#39;s not supported on &#39;my platform&#39; yet.</p><p>Are there any better debuggers out there? I&#39;m reluctant to use MSVC because I have to build a dll to use windows hooks and for that I have to write my own .def file and I haven&#39;t figured out how to automate it yet. Why isn&#39;t MSVC smart enough to write its own def file yet??? It&#39;s 2016 already. There&#39;s got to be some configuration somewhere in that steaming monstrosity that does this for me.</p><p>I&#39;m getting really tempted to try out Clang/LLVM. What about LLDB? I can&#39;t find any windows binaries for it.
</p><div class="quote_container"><div class="title"><a href="">LLDB page</a> said:</div><div class="quote"><p>
Windows local user-space debugging for i386 (*)</p><p>(*) Support for Windows is under active development. Basic functionality is expected to work, with functionality improving rapidly.</p></div></div><p>
Does anyone know what that means? Anyone have any experience debugging with LLDB on Windows yet?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 19 Jun 2016 01:56:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Unless you require more advanced features, MSVC supports <tt>__declspec(dllexport)</tt> (see <a href="https://msdn.microsoft.com/en-us/library/a90k134d.aspx">https://msdn.microsoft.com/en-us/library/a90k134d.aspx</a>).</p><p>I found Clang had quirks when I tried it last year on Windows (about a year ago now), such as C++ exceptions having little to no support. Also, I found most open source projects expected Visual Studio or GCC on Windows, if they had build scripts that supported Windows at all, which resulted in many headaches.</p><p>Regardless, Visual Studio&#39;s debugging features are much better than GDB on Windows. If anything, you should use Visual Studio for its debugging capabilities.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erin Maus)</author>
		<pubDate>Sun, 19 Jun 2016 03:44:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
I 100% agree with Aaron.</p><p>Visual Studio is the de facto standard for developing on Windows. Visual Studio 2015 Community Edition is completely free and comparable to older paid professional versions. Visual Studio &quot;15&quot; preview is currently available if you want to go bleeding edge, too.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Brooklyn)</author>
		<pubDate>Sun, 19 Jun 2016 04:54:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The last time I tried to get my cross-platform Allegro application to build in VS2015 I absolutely could not get it to work.  Is there a good place to start looking for guidance?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (raynebc)</author>
		<pubDate>Sun, 19 Jun 2016 14:39:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Visual Studio is getting more and more standard-conform every year, though. 2015 made some great progress in this area. Not only that, but it also includes a clang Toolset if you need even more standard-compliance.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (RPG Hacker)</author>
		<pubDate>Sun, 19 Jun 2016 17:59:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>My main reason for hating MSVC is that it is a terrible IDE compared to CodeBlocks, but I can&#39;t get the MSVC compiler to work with CB at least not last time I checked. :/
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 19 Jun 2016 21:22:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="https://www.allegro.cc/forums/thread/616351/1023357#target">RPG Hacker</a> said:</div><div class="quote"><p>Visual Studio is getting more and more standard-conform every year, though. 2015 made some great progress in this area. Not only that, but it also includes a clang Toolset if you need even more standard-compliance.</p></div></div><p>

In fact, as of VS2015 Update 2 it is 100% C++17 feature-complete in the STL.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Brooklyn)</author>
		<pubDate>Sun, 19 Jun 2016 22:46:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/616351/1023359#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> My main reason for hating MSVC is that it is a terrible IDE compared to CodeBlocks</p></div></div><p>Wait, really? I could never get used to Code::Blocks IDE at all and MSVC is pretty much the only IDE I can work with productively at all, especially once I install Visual Assist. Admittedly, that plugin is quite expensive, but since you only need to buy it once (unless you want all updates), this was worth it to me. After having used that plugin once at work, I pretty much can&#39;t work without it anymore. It just saves you so much time doing trivial things. Code::Blocks, on the other hand, just always seemed way too basic for me and - for simple use - also too complex. I mean, it can&#39;t even be used without setting up the complete compiler toolchain yourself (unless I remember that wrong?), which for an average user is definitely too complicated. I don&#39;t know how much the IDE has changed over the last few years, though. There were also some rather nasty bugs back then. For example: Breakpoints in your application never fired if your project was saved in a path that contained spaces. Don&#39;t know why that was. Granted, Visual Studio also contains a ton of bugs (as probably every IDE does), but so far I at least didn&#39;t stumble upon any that prevented me from doing basic development.</p><p>In the end, I guess, it all comes down to what IDE you&#39;re used to. Visual Studio is what I work with most, so that&#39;s probably why it&#39;s the best IDE to me. If I had to work with Code::Blocks every day, I might eventually get used to it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (RPG Hacker)</author>
		<pubDate>Sun, 19 Jun 2016 23:08:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks Aaron for that link. It led me to exactly what I needed. Apparently I don&#39;t need a .def file as long as I use __declspec(dllexport). But now I need to write a DllMain (MinGW provides it for you).</p><p>@RPG_Hacker<br />I just find CodeBlocks so much simpler and easier to navigate. And its code completion has advanced leaps and bounds in the last year or two (You have to use the nightly builds, but there are windows binaries for them). It also has a much better file explorer and actually has some sense of sanity when it comes to project folder layouts and &quot;solutions&quot; (I use that term loosely).</p><p>As to having to specify everything in the toolchain, that&#39;s not true (anymore?) and hasn&#39;t been for some time. All you have to do is specify the compiler from a list of detected installed compilers. It autodetects MinGW and GCC and MSVC as well as many others. Then the toolchain information is filled in for you. Of course you can do it manually too if you want.</p><p>Don&#39;t know what the status of debugging functionality in CB is but I always used GDB from the command line anyway.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 20 Jun 2016 01:55:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/616351/1023367#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> It also has a much better file explorer</p></div></div><p>Yeah, that&#39;s one of the few important things that Visual Studio is actually missing natively. Luckily, Visual Assist adds a great and fast file search to Visual Studio, which simplifies things a lot. It also comes with a lot of other features (such as better auto completion or a great symbol search dialog), so you&#39;re not just paying for a missing features. Nevertheless you have a point. Visual Studio should have that natively. Even XCode has a file search like that natively, and XCode is total garbage.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> All you have to do is specify the compiler from a list of detected installed compilers.</p></div></div><p>Yeah, I think I remember what the problem was now. Back then, I was actually following an Allegro setup tutorial from the Wiki, and this tutorial for some reason made you set up the whole toolchain yourself. I don&#39;t know why that was, but that&#39;s probably what stuck with me.</p><p>Anyways, all this considered, I still consider Visual Studio to be a bit more friendly to beginners, and I personally think that all important project properties and settings are easy to find in Visual Studio. I remember that in Code::Blocks, I sometimes had to search quite a while to find some stuff I was looking for. Maybe it has advanced in this field as well, though.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (RPG Hacker)</author>
		<pubDate>Mon, 20 Jun 2016 13:15:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Source level debugging in Codeblocks is easy enough.  You can set breakpoints, step line by line, execute to line #, etc.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (raynebc)</author>
		<pubDate>Tue, 21 Jun 2016 03:34:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Did you compile with -g before passing your junk to gdb ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Tue, 21 Jun 2016 13:18:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Of course I did. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /> I&#39;m not that big of a newb. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 21 Jun 2016 14:36:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="https://www.allegro.cc/forums/thread/616351/1023375">RPG Hacker</a> said:</div><div class="quote"><p>...Yeah, that&#39;s one of the few important things that Visual Studio is actually missing natively. Luckily, Visual Assist adds a great and fast file search to Visual Studio...</p></div></div><p>

Visual Assist plus Atomineer Utils is heaven.</p><p>I&#39;ve been using Visual Assist for about 6 years now and can&#39;t live without it. The rename/Create Impl. function(s) alone are amazing. Smart project-wide renames have saved me a <b>ton</b> of time.</p><p>In later versions of Visual Studio (2010, I think) the syntax/code highlighting is redundant though.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Brooklyn)</author>
		<pubDate>Wed, 22 Jun 2016 00:51:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Edgard: I don&#39;t know, I never make silly coding mistakes which generate cryptic output ;-p
</p><div class="spoiler"><p>
if only ^^
</p></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Wed, 22 Jun 2016 01:17:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/616351/1023392#target">Brooklyn</a> said:</div><div class="quote"><p> In later versions of Visual Studio (2010, I think) the syntax/code highlighting is redundant though.</p></div></div><p>Yeah, but I kinda appreciate the fact that Visual Assist just uses the same coloring scheme across all versions of Visual Studio. This makes it easy to adjust when you have to switch between many different versions of Visual Studio regularly (which I have to do at work, thanks to certain console debuggers/compilers only including bindings for certain versions of Visual Studio). Being able to always instantly associate color with syntax really saves you a lot of adjustment time when switching between versions. Another benefit of Visual Assist&#39;s syntax highlighting and auto completion is that they both work in places where Visual Studio fails completely. Taking work as an example again: At work, we generate our Visual Studio projets with our own build system (lace). For some reason, on those generated projects, Visual Studio&#39;s auto completion and syntax highlighting just fail completely (almost the whole text appears in default text color). Visual Assist still works fine on those projects, though, and offers you both: Great and functional auto completion and reliable syntax highlighting. It would be almost impossible to use those generated projects without Visual Assist.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (RPG Hacker)</author>
		<pubDate>Wed, 22 Jun 2016 03:25:58 +0000</pubDate>
	</item>
</rss>
