cover:start(Nodes)
and
cover:stop(Nodes)
. Cover compiled modules will be loaded
on all nodes added with cover:start(Nodes)
.
cover:stop(Nodes)
will collect coverage data from the
stopped nodes and merge it with data collected on the main (controller)
node. cover:analyse/1,2,3
and
cover:analyse_to_file/1,2,3
will also collect data from
all nodes before analysing.
deprecated
is used by Xref to
find calls to deprecated functions. The m/1
,
d/1
, and analyze/2,3
functions have been
updated to return calls to deprecated functions. See also xref(3) for
more details.
cover:compile_beam/1
and
cover:compile_beam_directory/0,1
. These functions use
abstract code from existing beam files when cover compiling. cover:analyse_to_file/1,2,3
. Instead of
plain text, a HTML file is generated with all uncovered lines colored
red. cover:export/1,2
and
cover:import/1
. These functions can be used to export
current coverage data to a file, and then import the data in a later
session. Data can be exported for one single module or for all
currently cover compiled modules.
instrument
module has been
slightely changed. Also some new functionallity has been added. See the
instrument(3)
man page for more information.
fprof
regarding complicated call stack
scenarios that caused it to crash.
cprof
, a call count profiler. It is
something inbetween cover
and fprof
, and can
be used to get a picture of which functions are most frequently called.
See tools
user's guide and reference manual.
Coast was much too slow and ineffiecient, especially for large modules. Also, it was discovered that Coast in some cases returned erroneous values.
Consequently, Coast has been discontinued and is replaced with a new tool Cover with similar interface and functionality. Refer to the Tools User's Guide and Reference Manual for more information about Cover.
xref:m/1
and xref:d/1
return a
list of undefined functions in case the BEAM files do not contain debug
information.
xref
represents unresolved calls with calls where the
module, the function or the number of arguments are atoms and integers
that are unlikely to occur in an Erlang system. Calls to
erlang:apply/2
and the like are included among the
external calls. This is in contrast to R7 where calls to
apply
and spawn
were used for representing
unresolved calls.
verbose
has been
changed from true
to false
. The function
xm/1
, which cross reference checks a module by calling
xref:m/1
, has been added to the c
module.
exref
has now been removed,
use the new tool xref
instead.
xref:m/1
and xref:d/1
return
a list of undefined functions in case the BEAM files do not
contain debug information.
See Tools 1.6.
xref:m/1
has been changed to accept a filename.locals_not_called
and xref:m/1
could sometimes miss unused local
functions.code_path
did
not force the setting up of data..beam
typically).'$F_EXPR'
is "called".xref_compiler:format_error/1
has been improved.'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.make:all()
no longer unnecessarily recompiles modules located in other directories than the current working directory.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.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.instrument:memory_data/0
returned invalid information if an address or size exceeded 2^27. instrument:store_memory_data
did not have that problem.make:all()
now recompiles modules where an include file has been modified.trace
BIF and format of trace messages were changed.instrument
module now contains an additional field, which represents the process which allocated a block.The module dbg is moved to the Runtime tools application
cover
two or more processes, running the same code, may in rare situations give rise to race conditions when updating the ETS table used.cover
counts the number of executed statements, instead of the number of function calls. (This problem is solved by using coast
instead!)cover
doesn't store the accumulated data persistently.run
function call will, if the call to the Coast-compiled module fails, return an exit signal instead of the tuple {'EXIT', Reason}.cover
two or more processes, running the same code, may in rare situations give rise to race conditions when updating the ETS table used. cover
counts the number of executed statements, instead of the number of function calls. (This problem is solved by using coast
instead!)cover
doesn't store the accumulated data persistently. There is a new document module creating Emacs TAGS files, tags
.
exref:delete_module/1
now works properly.exref
no longer have problems with guards (such as record
and atom
) in list comprehension (LC) expressions.exref
no longer mixes up modules.exref
no longer changes the working directory.exref
now handles internal functions correctly under certain conditions.auto
option, exref no longer enters an infinite loop.exref:module
no longer accepts modules specified as strings, so the implementation now agrees with the documentation.cover
counts the number of executed statements, instead of the number of function calls. (This problem is solved by using coast
instead!)cover
doesn't store the accumulated data persistently. $
confuses indentation mechanism.make:all
now works withoout a Emakefile
.exref
now know about the language construct query
.exref:delete_module/1
does not work properly, so subesquent calls to exref:analyse
will give incorrect results.filename:find_src/1
instead of the obsolete file_util
module.Options
in file/2
in a correct way (OTP-1074).