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).