<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- Debugger Release Notes</title> </head> <body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/debugger-3.2.8.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>Debugger</strong><br><strong>Release Notes</strong><br><small>Version 3.2.8</small></p> <br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Chapters</strong></small></p> <ul class="flipMenu" imagepath="../../../../doc/js/flipmenu"><li id="loadscrollpos" title="Debugger Release Notes" expanded="true">Debugger Release Notes<ul> <li><a href="notes.html"> Top of chapter </a></li> <li title="Debugger 3.2.8"><a href="notes.html#id63094">Debugger 3.2.8</a></li> <li title="Debugger 3.2.7"><a href="notes.html#id63362">Debugger 3.2.7</a></li> <li title="Debugger 3.2.6"><a href="notes.html#id60009">Debugger 3.2.6</a></li> <li title="Debugger 3.2.5"><a href="notes.html#id60038">Debugger 3.2.5</a></li> <li title="Debugger 3.2.4"><a href="notes.html#id62677">Debugger 3.2.4</a></li> <li title="Debugger 3.2.3"><a href="notes.html#id62706">Debugger 3.2.3</a></li> <li title="Debugger 3.2.2"><a href="notes.html#id62751">Debugger 3.2.2</a></li> <li title="Debugger 3.2.1"><a href="notes.html#id60490">Debugger 3.2.1</a></li> <li title="Debugger 3.2"><a href="notes.html#id60520">Debugger 3.2</a></li> <li title="Debugger 3.1.1.4"><a href="notes.html#id60569">Debugger 3.1.1.4</a></li> <li title="Debugger 3.1.1.3"><a href="notes.html#id56421">Debugger 3.1.1.3</a></li> <li title="Debugger 3.1.1.2"><a href="notes.html#id56450">Debugger 3.1.1.2</a></li> <li title="Debugger 3.1.1.1"><a href="notes.html#id56493">Debugger 3.1.1.1</a></li> <li title="Debugger 3.1.1"><a href="notes.html#id56535">Debugger 3.1.1</a></li> <li title="Debugger 3.1"><a href="notes.html#id56569">Debugger 3.1</a></li> <li title="Debugger 3.0.1"><a href="notes.html#id56776">Debugger 3.0.1</a></li> <li title="Debugger 3.0"><a href="notes.html#id56855">Debugger 3.0</a></li> <li title="Debugger 2.3.3"><a href="notes.html#id56889">Debugger 2.3.3</a></li> <li title="Debugger 2.3.2"><a href="notes.html#id56935">Debugger 2.3.2</a></li> <li title="Debugger 2.3.1"><a href="notes.html#id56965">Debugger 2.3.1</a></li> </ul> </li></ul> </div></div> <div id="content"> <div class="innertube"> <h1>1 Debugger Release Notes</h1> <p>This document describes the changes made to the Debugger application.</p> <h3><a name="id63094">1.1 Debugger 3.2.8</a></h3> <h4>Fixed Bugs and Malfunctions</h4> <ul> <li> <p> Fixed disappearing breakpoints bug, reported by Ricardo Catalinas Jiménez.</p> <p> Own Id: OTP-9950</p> </li> </ul> <h3><a name="id63362">1.2 Debugger 3.2.7</a></h3> <h4>Fixed Bugs and Malfunctions</h4> <ul> <li> <p> Fix "OK" spelling in debugger messages and variables</p> <p> Simple code refactor in the debugger: renames all the occurrences of "Ok" to "OK" in the code, variable names and strings. This improves the consistency of the code and follows the GTK UI where "OK" is always used.(Thanks to Ricardo Catalinas Jiménez)</p> <p> Own Id: OTP-9699</p> </li> </ul> <h4>Improvements and New Features</h4> <ul> <li> <p>Variables are now now allowed in '<span class="code">fun M:F/A</span>' as suggested by Richard O'Keefe in EEP-23.</p> <p>The representation of '<span class="code">fun M:F/A</span>' in the abstract format has been changed in an incompatible way. Tools that directly read or manipulate the abstract format (such as parse transforms) may need to be updated. The compiler can handle both the new and the old format (i.e. extracting the abstract format from a pre-R15 BEAM file and compiling it using compile:forms/1,2 will work). The <span class="code">syntax_tools</span> application can also handle both formats.</p> <p> *** POTENTIAL INCOMPATIBILITY ***</p> <p> Own Id: OTP-9643</p> </li> </ul> <h3><a name="id60009">1.3 Debugger 3.2.6</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p> Fix issues reported by dialyzer.</p> <p> Own Id: OTP-9107</p> </li> </ul> <h3><a name="id60038">1.4 Debugger 3.2.5</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p>Miscellaneous updates</p> <p> Own Id: OTP-8976</p> </li> </ul> <h3><a name="id62677">1.5 Debugger 3.2.4</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p> Type specs have been added/cleaned up. (Thanks to Kostis Sagonas.)</p> <p> Own Id: OTP-8757</p> </li> </ul> <h3><a name="id62706">1.6 Debugger 3.2.3</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p> Warnings due to new autoimported BIFs removed</p> <p> Own Id: OTP-8674 Aux Id: OTP-8579 </p> </li> <li> <p> The predefined builtin type tid() has been removed. Instead, ets:tid() should be used.</p> <p> *** POTENTIAL INCOMPATIBILITY ***</p> <p> Own Id: OTP-8687</p> </li> </ul> <h3><a name="id62751">1.7 Debugger 3.2.2</a></h3> <h4>Fixed Bugs and Malfunctions</h4> <ul> <li> <p> Bugs have been fixed in the evaluation of comprehensions and short-circuit expressions in guards.</p> <p> Own Id: OTP-8310</p> </li> </ul> <h4>Improvements and New Features</h4> <ul> <li> <p> Miscellaneous corrections of the WX version of the debugger.</p> <p> Own Id: OTP-8346</p> </li> </ul> <h3><a name="id60490">1.8 Debugger 3.2.1</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p> The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed.</p> <p> Own Id: OTP-8201</p> </li> </ul> <h3><a name="id60520">1.9 Debugger 3.2</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p> Added a new gui, start with debugger:start(gs) for old gui.</p> <p> Own Id: OTP-7366</p> </li> <li> <p> The undocumented, unsupported, and deprecated guard BIF <span class="code">is_constant/1</span> has been removed.</p> <p> *** INCOMPATIBILITY with R12B ***</p> <p> Own Id: OTP-7673</p> </li> </ul> <h3><a name="id60569">1.10 Debugger 3.1.1.4</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p> There is now experimental support for loading of code from archive files. See the documentation of <span class="code">code</span>, <span class="code">init</span>, <span class="code">erl_prim_loader </span> and <span class="code">escript</span> for more info.</p> <p> The error handling of <span class="code">escripts</span> has been improved.</p> <p> An <span class="code">escript</span> may now set explicit arguments to the emulator, such as <span class="code">-smp enabled</span>.</p> <p> An <span class="code">escript</span> may now contain a precompiled beam file.</p> <p> An <span class="code">escript</span> may now contain an archive file containing one or more applications (experimental).</p> <p> The internal module <span class="code">code_aux</span> has been removed.</p> <p> Own Id: OTP-7548 Aux Id: otp-6622 </p> </li> </ul> <h3><a name="id56421">1.11 Debugger 3.1.1.3</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p> Minor changes.</p> <p> Own Id: OTP-7388</p> </li> </ul> <h3><a name="id56450">1.12 Debugger 3.1.1.2</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p>The documentation has been updated so as to reflect the last updates of the Erlang shell as well as the minor modifications of the control sequence <span class="code">p</span> of the <span class="code">io_lib</span> module.</p> <p>Superfluous empty lines have been removed from code examples and from Erlang shell examples.</p> <p> Own Id: OTP-6944 Aux Id: OTP-6554, OTP-6911 </p> </li> </ul> <h3><a name="id56493">1.13 Debugger 3.1.1.1</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p> Minor Makefile changes.</p> <p> Own Id: OTP-6689</p> </li> <li> <p> Obsolete guard tests (such as list()) have been replaced with the modern guard tests (such as is_list()).</p> <p> Own Id: OTP-6725</p> </li> </ul> <h3><a name="id56535">1.14 Debugger 3.1.1</a></h3> <h4>Fixed Bugs and Malfunctions</h4> <ul> <li> <p> Removed some dead code from <span class="code">dbg_ieval</span>.</p> <p> Own Id: OTP-6552</p> </li> </ul> <h3><a name="id56569">1.15 Debugger 3.1</a></h3> <h4>Fixed Bugs and Malfunctions</h4> <ul> <li> <p> The interpreter could not handle the case where an expression that should evaluate to a fun referred to uninterpreted code.</p> <p> Own Id: OTP-6061 Aux Id: seq10295</p> </li> <li> <p> Timeout for <span class="code">gen_server</span> calls within Debugger is now set to <span class="code">infinity</span>.</p> <p> Own Id: OTP-6103</p> </li> </ul> <h4>Improvements and New Features</h4> <ul> <li> <p> Notification windows are now centered over a parent window.</p> <p> Own Id: OTP-6011 Aux Id: OTP-5987</p> </li> <li> <p> When interpreting a module, it is now checked that the module does not belong to the Kernel, STDLIB, GS or Debugger application, as interpreting a module used by the debugger/interpreter itself will lead to a deadlock or emulator crash.</p> <p> Also <span class="code">int:interpretable(Mod)</span> has been extended to return <span class="code">{error,{app,App}}</span> if <span class="code">Mod</span> belongs to one of the above applications.</p> <p> Own Id: OTP-6020</p> </li> <li> <p> <span class="code">andalso</span>/<span class="code">orelse</span> is now supported.</p> <p> Own Id: OTP-6021 Aux Id: OTP-5894</p> </li> </ul> <h3><a name="id56776">1.16 Debugger 3.0.1</a></h3> <h4>Fixed Bugs and Malfunctions</h4> <ul> <li> <p> When evaluating a guard expression for a fun function clause, the environment variable bindings were not taken into account.</p> <p> Own Id: OTP-5837</p> </li> </ul> <h4>Improvements and New Features</h4> <ul> <li> <p>A number of smaller improvements to the GUI:</p> <ul> <li>Multiple choices now possible in Function Break Dialog Window.</li> <li>Right-clicking the Module entry in a Break Dialog Window will open a popup menu from which the appropriate (interpreted) module can be selected.</li> <li>Auto Attach options can now be changed using the buttons in the left part of the Monitor Window, not only by the corresponding menu buttons.</li> <li>Buttons for enabling and disabling all breakpoints have been added.</li> <li>View Module Window keyboard shortcuts corrected. </li> </ul> Own Id: OTP-4284 </li> </ul> <h3><a name="id56855">1.17 Debugger 3.0</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p> Debugger can now handle <span class="code">try-catch</span>. This meant large parts of the interpreter had to be rewritten. Also, some small changes to the GUI have been made.</p> <p> Own Id: OTP-5730</p> </li> </ul> <h3><a name="id56889">1.18 Debugger 2.3.3</a></h3> <h4>Improvements and New Features</h4> <ul> <li> <p>It is now possible to encrypt the debug information in Beam files, to help keep the source code secret. See the documentation for compile on how to provide the key for encrypting, and the documentation for beam_lib on how to provide the key for decryption so that tools such as the Debugger, Xref, or Cover can be used.</p> <p>The <span class="code">beam_lib:chunks/2</span> functions now accepts an additional chunk type '<span class="code">compile_info</span>' to retrieve the compilation information directly as a term. (Thanks to Tobias Lindahl.)</p> <p> Own Id: OTP-5460 Aux Id: seq9787</p> </li> </ul> <h3><a name="id56935">1.19 Debugger 2.3.2</a></h3> <h4>Fixed Bugs and Malfunctions</h4> <ul> <li> <p> The graphic applications now search for HTML documentation in the correct place.</p> <p> Own Id: OTP-5381</p> </li> </ul> <h3><a name="id56965">1.20 Debugger 2.3.1</a></h3> <h4>Fixed Bugs and Malfunctions</h4> <ul> <li> <p> Package support has been added to the debugger. Thanks to Richard Carlsson in the HiPE project.</p> <p> Own Id: OTP-5255</p> </li> </ul> <h4>Improvements and New Features</h4> <ul> <li> <p> Updated to handle the latest version of the compiler.</p> <p> Own Id: OTP-5265</p> </li> </ul> </div> <div class="footer"> <hr> <p>Copyright © 1997-2012 Ericsson AB. All Rights Reserved.</p> </div> </div> </div></body> </html>