Tools Release Notes
Tools 1.6.2
Improvements and new features
-
The functions
xref:m/1
and xref:d/1
return
a list of undefined functions in case the BEAM files do not
contain debug information.
Own Id: OTP-3879
Tools 1.6.1
Known Problems
See Tools 1.6.
Improvements and New Features
-
The following changes has been made to Xref:
xref:m/1
has been changed to accept a filename.
- bug fix: the predefined analysis
locals_not_called
and xref:m/1
could sometimes miss unused local
functions.
- bug fix: the bit syntax is now recognized...
- bug fix: setting the library path to
code_path
did
not force the setting up of data.
- # has lower precedence now.
- only atoms are allowed as release and application names.
- invalid symbolic links are ignored unless the extension is
recognized (
.beam
typically).
- calls where the module is fixed but the function is not are no
longer unresolved; instead the "function"
'$F_EXPR'
is "called".
xref_compiler:format_error/1
has been improved.
- bug fix: calls to
'MNEMOSYNE RULE'
et al removed.
m/1
and d/1
return a list that always
contains two elements.
xref_parser:t2s/1
adds quotes to atoms that need
them.
- the documentation is less incomplete and buggy.
- the strict operator has been documented (it was present in the
code before).
Own Id: OTP-3681
Tools 1.6
Known Problems
- Externally defined macros are not handled correctly in Coast.
Own Id: OTP-3273
Aux Id: seq3910
Fixed Errors and Malfunctions
make:all()
no longer unnecessarily recompiles modules located in other directories than the current working directory.
Own Id: OTP-3336
Aux Id: Seq 4055
- When waiting for a reply from the Coast server process, the user interface functions did a
receive
that accepted any term. The receive
has now been restricted to accept only the correct replies and not accidently a message from some other process.
Own Id: OTP-3394
Aux Id: Seq 4209
coast:compile_all/1,2
now returns the correct return value {error,Reason}
if the directory given as argument does not exist or cannot be read.
Own Id: OTP-3500
Aux Id: Seq 4394
- The function
instrument:memory_data/0
returned invalid information if an address or size exceeded 2^27. instrument:store_memory_data
did not have that problem.
Own Id: OTP-3635
Improvements and new features
make:all()
now recompiles modules where an include file has been modified.
Own Id: OTP-3088
Aux Id: seq1645, seq4228
- The eprof module has been optimised to minimise the measuring overhead. Typically, the measured program runs at about 50% of its ordinary speed.
Own Id: OTP-3163
- xref is a new cross reference tool.
Own Id: OTP-3639
Tools 1.5.2
Fixed Errors and Malfunctions
- Eprof was corrected because the
trace
BIF and format of trace messages were changed.
Own Id: OTP-3369
Tools 1.5.1
Improvements and New Features
- The memory information obtained with the
instrument
module now contains an additional field, which represents the process which allocated a block.
Own Id: OTP-3142
Fixed Errors and Malfunctions
- Due to a bug in Coast, a module could be initialized repeatedly. However, it is only necessary to initiate a module once and this is now fixed.
Own Id: OTP-3225
Tools 1.4.3
Incompatibilities With Tools 1.4
The module dbg is moved to the Runtime tools application
Known Problems
- In
cover
two or more processes, running the same code, may in rare situations give rise to race conditions when updating the ETS table used.
Own Id: OTP-2625
cover
counts the number of executed statements, instead of the number of function calls. (This problem is solved by using coast
instead!)
Own Id: OTP-1247
cover
doesn't store the accumulated data persistently.
Own Id: OTP-1318
Tools 1.4.1
Fixed Errors and Malfunctions
- In Coast, recursive function calls containing other function calls as arguments are now recognised as being recursive.
Own Id: OTP-1981
- In Coast there can no longer be a race condition if two (or more) processes, running the same code, tries to update the ETS tables used.
Own Id: OTP-2625
Incompatibilities With Tools 1.4
- The
run
function call will, if the call to the Coast-compiled module fails, return an exit signal instead of the tuple {'EXIT', Reason}.
- The internal representation of data has been changed, meaning that all previously Coast-compiled modules have to be recompiled.
Known Problems
- In
cover
two or more processes, running the same code, may in rare situations give rise to race conditions when updating the ETS table used.
Own Id: OTP-2625
cover
counts the number of executed statements, instead of the number of function calls. (This problem is solved by using coast
instead!)
Own Id: OTP-1247
cover
doesn't store the accumulated data persistently.
Own Id: OTP-1318
Tools 1.4
There is a new document module creating Emacs TAGS files, tags
.
Fixed Errors and Malfunctions
exref:delete_module/1
now works properly.
Own Id: OTP-1115
exref
no longer have problems with guards (such as record
and atom
) in list comprehension (LC) expressions.
Own Id: OTP-1291
exref
no longer mixes up modules.
Own Id: OTP-1220
exref
no longer changes the working directory.
exref
now handles internal functions correctly under certain conditions.
- When using the
auto
option, exref no longer enters an infinite loop.
Incompatibilities With Tools 1.2.1
exref:module
no longer accepts modules specified as strings, so the implementation now agrees with the documentation.
Known Problems
- In Coast a recursive function call containing another function call as argument is currently not recognised as being recursive, unless the function call used as argument is made to a module not having been coast-compiled.
Own Id: OTP-1981
cover
counts the number of executed statements, instead of the number of function calls. (This problem is solved by using coast
instead!)
Own Id: OTP-1247
cover
doesn't store the accumulated data persistently.
Own Id: OTP-1318
- In Emacs occurances of
$
confuses indentation mechanism.
Own Id: OTP-1203, OTP-1674, OTP-1675
Tools 1.2.1
Fixed Errors and Malfunctions
- The function
make:all
now works withoout a Emakefile
.
Own Id: OTP-1340
exref
now know about the language construct query
.
Own Id: OTP-1368
Known Problems
- The function
exref:delete_module/1
does not work properly, so subesquent calls to exref:analyse
will give incorrect results.
Own Id: OTP-1115
Tools 1.2
Fixed Errors and Malfunctions
- Deadlock situation with COVER compile solved.
Own Id: OTP-1072
Aux Id: HA34612
- Cover does now work with include files.
OwnId: OTP-1074
Aux Id: HA34302
- Changed cover to used
filename:find_src/1
instead of the obsolete file_util
module.
Known Problems
- Not cleaning up when module removed.
Tools 1.1
Fixed Errors and Malfunctions
- Cover did not use
Options
in file/2
in a correct way (OTP-1074).
- Cover tried to load the "tools" application dynamically which could cause deadlock in the startup if cover-compiled modules are involved at this stage. The attempt to load the application is now removed (must be specified in the start script).