diffblue-cbmc/scripts
johndumbell 5f741a127d Add comments to irep gdb pretty printer 2019-10-01 11:44:18 +01:00
..
bash-autocomplete Add zsh support to auto-complete 2017-07-26 23:32:41 +01:00
benchmark Make process_wrapper.sh executable 2019-03-18 10:16:21 +00:00
perf-test perf-test: benchexec can use all NUMA nodes 2018-12-28 07:34:13 +00:00
pretty-printers/gdb Add comments to irep gdb pretty printer 2019-10-01 11:44:18 +01:00
README.md Fix & enable irept pretty-printer 2019-09-19 10:22:36 +01:00
build_doxygen.sh Fix broken doxygen download link 2018-12-13 13:01:22 +00:00
cadical-patch Add support for CaDiCaL 2018-04-22 20:31:50 +01:00
cbmc.spec more 2011-06-07 13:40:22 +00:00
compare_postprocessor_output.py Update postprocessor comparison script 2017-06-06 15:13:09 +01:00
cpplint.py Refine the CPPLINT script to not report a __CPROVER_ misuse false positive 2019-08-08 16:44:35 -04:00
diff_to_added_lines.py Add check for missing unidiff dependency 2019-04-11 15:11:56 +01:00
do_doc_convert.py Add doc conversion driver script 2017-06-06 15:13:09 +01:00
doxy_merge_driver.sh Add merge driver 2017-08-11 16:37:10 +01:00
expected_doxygen_warnings.txt Update expected warnings 2019-08-23 14:21:26 +01:00
extract_type_header.py Add test for extract_type_header.py script 2019-06-24 11:49:02 -04:00
filter_by_lines.py Improve filter_by_diff.py and friends 2017-09-06 11:18:14 +01:00
filter_expected_warnings.py Treat unexpected Doxygen output as warnings 2018-12-03 16:37:18 +00:00
find-covering-tests.py Script to find regression tests that cover given source lines 2019-08-01 18:05:59 +01:00
format_classpath.sh JBMC: Moved format_classpath.sh to scripts/format_classpath.sh 2018-06-24 15:35:02 +01:00
generate_vcxproj Update generate_vcxproj to work with current source tree 2019-05-30 11:29:53 +00:00
glucose-syrup-patch Remove trailing `;` from namespace closing bracket 2018-05-10 12:58:05 +02:00
glucose_CMakeLists.txt Silence all Visual Studio warnings when building Minisat or Glucose 2019-01-23 19:38:17 +00:00
ls_parse.py ls_parse: improve debugging by printing a trace 2018-07-12 11:41:21 +02:00
make-rpm more 2011-06-07 13:40:22 +00:00
minisat-2.2.1-patch Silence Minisat's use of realloc on non-POD and fix and use its xrealloc 2018-06-05 09:05:16 +00:00
minisat2_CMakeLists.txt Silence all Visual Studio warnings when building Minisat or Glucose 2019-01-23 19:38:17 +00:00
publish_doc.sh Add script for uploading documentation 2018-03-20 12:16:03 +00:00
reformat_docs.py Remove duplication from conversion script 2017-06-13 13:14:24 +01:00
run_diff.sh Use new Doxygen script in Travis CI 2018-11-08 15:25:56 +00:00
run_doxygen.sh Change how we check doxygen version 2019-08-23 14:21:33 +01:00
run_lint.sh Rename run_lint to run_diff 2017-07-03 17:10:23 +01:00
run_test_upload_cov_report.sh Script to run test and upload report with flag 2019-09-19 11:50:52 +01:00
string_table_check.sh Check that the string table does not include unused entries 2018-04-25 15:04:49 +01:00
travis_lint.sh Travis clang-format, cpplint: Use the merge base 2019-05-31 21:43:11 +00:00
vcxproj.1 Update generate_vcxproj to work with current source tree 2019-05-30 11:29:53 +00:00
vcxproj.2 use full template 2013-06-16 12:20:43 +00:00

README.md

A collection of utility scripts and script applications.

pretty-printers

GDB:

Pretty-printers for CBMC that enable easier debugging in IDEs and mitigate certain crashes due to the way some objects' memory is shared.

Currently it deals with:

  • irep_idt
  • dstring
  • instructiont

To install:

  1. Navigate to /pretty-printers/gdb.
  2. Run install.py with python 3+.
  3. If an exception occurs, create an empty '.gdbinit' file in your home folder, and copy/paste the blob of code at the top of the install.py file.

The .gdbinit file is used by GDB during start-up to run any initial commands or scripts, and the code injects the pretty-printers during that.

Nothing else is required to get the pretty-printers to work, beside using GDB to debug the code.

options

There is an options.json file to control any internal options.

List of options.

clion_pretty_printers: Some pretty printers work differently if you're running them in CLion versus baseline GDB, and aren't very pretty if you look at them in the alternate view. Set to true if you use CLion, false if you use commandline GDB. Defaults to true.