mirror of
https://github.com/boostorg/multiprecision.git
synced 2026-01-19 16:32:12 +00:00
* Update Jamfile.v2 * Update introduction.qbk * Update tutorial.qbk * Update tutorial_cpp_int.qbk * Update tutorial_gmp_int.qbk * Update tutorial_tommath.qbk * Update integer_examples.cpp * Update tutorial_cpp_bin_float.qbk * Update tutorial_cpp_dec_float.qbk * Update tutorial_gmp_float.qbk * Update tutorial_mpfr_float.qbk * Update tutorial_float128.qbk * Update tutorial_float_builtin_ctor.qbk * Update big_seventh.cpp * Update tutorial_float_eg.qbk * Update floating_point_examples.cpp * Update mpfr_precision.cpp * Update gauss_laguerre_quadrature.cpp * Update tutorial_interval_mpfi.qbk * Update tutorial_cpp_complex.qbk * Update tutorial_mpc_complex.qbk * Update tutorial_float128_complex.qbk * Update tutorial_complex_adaptor.qbk * Update tutorial_rational.qbk * Update tutorial_tommath_rational.qbk * Update tutorial_logged_adaptor.qbk * Update tutorial_debug_adaptor.qbk * Update tutorial_visualizers.qbk * Update tutorial_fwd.qbk * Update tutorial_conversions.qbk * Update tutorial_random.qbk * Update random_snips.cpp * Update tutorial_constexpr.qbk * Update tutorial_import_export.qbk * Update cpp_int_import_export.cpp * Update tutorial_mixed_precision.qbk * Update tutorial_variable_precision.qbk * Update scoped_precision_example.cpp * Update tutorial_numeric_limits.qbk * Update tutorial_numeric_limits.qbk * Update numeric_limits_snips.cpp * Update numeric_limits_snips.cpp * Update tutorial_numeric_limits.qbk * Update numeric_limits_snips.cpp * Update numeric_limits_snips.cpp * Update tutorial_io.qbk * Update reference_number.qbk * Update reference_cpp_bin_float.qbk * Update reference_cpp_double_fp_backend.qbk * Update reference_internal_support.qbk * Update reference_backend_requirements.qbk * Update performance.qbk * Update performance_overhead.qbk * Update performance_real_world.qbk * Update performance_integer_real_world.qbk * Update performance_rational_real_world.qbk * Update reference_number.qbk * Update tutorial_numeric_limits.qbk * Update reference_backend_requirements.qbk
51 lines
2.2 KiB
Plaintext
51 lines
2.2 KiB
Plaintext
[/
|
|
Copyright 2011 - 2025 John Maddock.
|
|
Copyright 2013 - 2019 Paul A. Bristow.
|
|
Copyright 2013 - 2025 Christopher Kormanyos.
|
|
|
|
Distributed under the Boost Software License, Version 1.0.
|
|
(See accompanying file LICENSE_1_0.txt or copy at
|
|
http://www.boost.org/LICENSE_1_0.txt).
|
|
]
|
|
|
|
[section:visualizers Visual C++ Debugger Visualizers]
|
|
|
|
[important This section is seriously out of date compared to recent Visual C++ releases. A modernization of Multiprecision's visualizers is planned for Visual Studio 2022 (and beyond). The legacy description has been maintained and is provided below.]
|
|
|
|
Let's face it, debugging multiprecision numbers is challenging - simply because we can't easily inspect the value of the numbers.
|
|
Visual C++ provides a partial solution in the shape of "visualizers" which provide improved views of complex data structures.
|
|
|
|
Previously, there was preliminary support for visualizers within older versions of Visual Studio.
|
|
These legacy visualizers needed to be added to the `[Visualizer]` section of `autoexp.dat` located in the `Common7/Packages/Debugger`
|
|
directory of the local Visual Studio installation. The actual visualizer code had previously been stored in the sandbox.
|
|
|
|
[note These visualizers have only been tested with VC10, also given the ability of buggy visualizers to crash your Visual C++
|
|
debugger, make sure you back up `autoexp.dat` file before using these!!]
|
|
|
|
The first visualizer provides improved views of `debug_adaptor`:
|
|
|
|
[$../debugger1.png]
|
|
|
|
The next visualizer provides improved views of cpp_int: small numbers are displayed as actual values, while larger numbers are
|
|
displayed as an array of hexadecimal parts, with the most significant part first.
|
|
|
|
Here's what it looks like for small values:
|
|
|
|
[$../debugger4.png]
|
|
|
|
And for larger values:
|
|
|
|
[$../debugger5.png]
|
|
|
|
There is also a `~raw` child member that
|
|
lets you see the actual members of the class:
|
|
|
|
[$../debugger6.png]
|
|
|
|
The visualizer for `cpp_dec_float` shows the first few digits of the value in the preview field, and the full array of digits
|
|
when you expand the view. As before the `~raw` child gives you access to the actual data members:
|
|
|
|
[$../debugger7.png]
|
|
|
|
[endsect] [/section:visualizers Visual C++ Debugger Visualizers]
|