{'fraction_non_alphanumeric': 0.013785790031813362, 'fraction_numerical': 0.0, 'mean_word_length': 5.465753424657534, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Hardware support for program debuggers in a paged virtual memory

This paper proposes a hardware unit which assists interactive debuggers in detecting breakpoint and watchpoint conditions. In the past debugger packages have used inefficient and expensive techniques for determining when a breakpoint has been reached. Most of these solutions have relied on large, inefficient and restrictive software routines, with very little support from the main processor. This paper examines the techniques used by conventional debuggers and highlights their disadvantages. We describe the support which could be provided by extra hardware attached to a virtual memory unit, and then develop an implementation of this hardware. Finally, we compare this implementation with the alternatives. The paper does not discuss the user interface provided by the debugger software. However, the primitives provided should allow most user functions to be supported.