{"id":71,"date":"2004-02-06T22:59:25","date_gmt":"2004-02-06T21:59:25","guid":{"rendered":"http:\/\/www.nobugs.org\/blog\/archives\/2004\/02\/06\/debug-win32-heap-internals\/"},"modified":"2004-02-06T22:59:25","modified_gmt":"2004-02-06T21:59:25","slug":"debug-win32-heap-internals","status":"publish","type":"post","link":"https:\/\/www.nobugs.org\/blog\/archives\/2004\/02\/06\/debug-win32-heap-internals\/","title":{"rendered":"Debug Win32 Heap Internals"},"content":{"rendered":"<p>Having recently started a new job, I&#8217;ve been deliberately taking some time to build up my development environment to be just right.  Over the past six or so years I&#8217;ve figured out what&#8217;s the easiest way to do X, or the fastest way to do Y, and I&#8217;ve carried these things from job to job.  I&#8217;ve spent a while tuning my dot-emacs file so that most of my common tasks are automated, and I&#8217;ve turned into a <a href=\"http:\/\/c2.com\/cgi\/wiki?ThreeStrikesAndYouAutomate\">&#8220;three strikes and you automate&#8221;<\/a> bunny.<\/p>\n<p>Anyhow, I&#8217;ve been doing a lot of heap related work, and the MSDN docs aren&#8217;t great.  So, I finally got round to writing the article which I wish I&#8217;d wrote years ago &#8230;<\/p>\n<p>It&#8217;s obscure! It&#8217;s of interest to about 3 people in the world! It&#8217;s the &#8230; <a href=\"http:\/\/www.nobugs.org\/developer\/win32\/debug_crt_heap.html\">Win32 Debug CRT Heap Internals<\/a> guide!<\/p>\n<p>(but it means I&#8217;ll always know where to find the information, so I&#8217;m happy.  And it&#8217;s always fun indulging in a bit of low-level hackery rather than always using high-level languages which protect you from this stuff)<\/p>\n<p>Next week, I&#8217;ll write another article on how to pinpoint heap corruption (writes through dangling pointers etc) using only DevStudio (no Purify or Boundchecker required).<\/p>\n<p>I can&#8217;t over-emphasis how good <a href=\"http:\/\/www.thaiopensource.com\/download\/\">nxml-mode<\/a> is.  I&#8217;m using it for all my xml\/xhtml stuff now.  I couldn&#8217;t be without it.<\/p>\n<p>On another track completely, I&#8217;ve been doing a lot of thinking about physics recently.  I&#8217;m trying to relearn electromagnetism from the ground up.  I remember reading that Richard Feynman once did this exercise &#8211; taking your knowledge to bits, examining all the parts, and carefully putting it back together.  I am really appalled at how poor my understanding of this subject it.  I did physics up to 2nd year at Uni, and always got top grades.  Yet, I have ended up with a facade of understanding.  <a href=\"http:\/\/amasci.com\/miscon\/miscon.html\">This page<\/a> convinced me that I wasn&#8217;t crazy after all.  I think it should be possible to write a simple electromagnetism &#8220;simulator&#8221; which operates at the level of individual electrons, and only knows a small number of rules (Maxwells laws), but yet is able to recreate pretty much all electromagnetic phenomena.  Sure, it&#8217;ll be slow but I hope it will be able to demonstrate basically all electromagnetic phenomena.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Having recently started a new job, I&#8217;ve been deliberately taking some time to build up my development environment to be just right. Over the past six or so years I&#8217;ve figured out what&#8217;s the easiest way to do X, or the fastest way to do Y, and I&#8217;ve carried these things from job to job. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-71","post","type-post","status-publish","format-standard","hentry","category-programming"],"_links":{"self":[{"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/posts\/71","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/comments?post=71"}],"version-history":[{"count":0,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/posts\/71\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/media?parent=71"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/categories?post=71"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/tags?post=71"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}