# 工具

## 在线工具

下面是我常用的一些在线工具：

别人编写的：

1. https://gchq.github.io/CyberChef/
1. https://godbolt.org/
1. https://hpd.gasmi.net/
1. https://tcpdump101.com/
1. https://regexper.com/
1. https://crontab.guru/
1. https://salmanarif.bitbucket.io/visual/index.html
1. https://mathpix.com/
1. https://www.falstad.com/circuit/circuitjs.html
1. https://merricx.github.io/qrazybox/
1. https://www.epochconverter.com/
1. https://www.vultr.com/resources/mac-converter/
1. http://www.sunshine2k.de/coding/javascript/crc/crc_js.html
1. https://www.easyunitconverter.com/
1. https://gregstoll.com/~gregstoll/floattohex/

自己编写的：

1. S-DES 可视化 https://jia.je/sdes-visualization/
1. Booth 乘法可视化 https://jia.je/booth-visualization/
1. 整数除法可视化 https://jia.je/integer-divide-visualization/
1. 在线运行 TAC 代码 https://jia.je/online_tac_vm/
1. 在线编译 Decaf https://jia.je/online_decaf/
1. 在线解码登机牌信息 BCBP https://jia.je/decode-bcbp/
1. IEEE 754 等浮点格式转换 https://jia.je/floating/

## 调试工具

1. CPU 上的调试器：GDB LLDB
1. 编译器自带：AddressSanitizer, ThreadSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer
1. Valgrind 系列：valgrind, memcheck, cachegrind, callgrind, helgrind, drd, massif, dhat, lackey, nulgrind, bbv
1. MPI Tracing: [Pilgrim: Logger for MPI communication](https://github.com/pmodels/pilgrim)
1. GPU Race Detection: [iGUARD: In-GPU Advanced Race Detection](https://github.com/csl-iisc/iGUARD)
1. NUMA Profiling: [NumaPerf: Predictive NUMA Profiling](https://github.com/UTSASRG/NumaPerf)
1. OpenMP Race Detection: [archer: a data race detection tool for large OpenMP applications](https://github.com/PRUNERS/archer)
1. Python Profiling: cProfile, [Guppy3: A Python Programming Environment & Heap analysis toolset](https://github.com/zhuyifei1999/guppy3/), [PyInstrument: Call stack profiler for Python](https://github.com/joerick/pyinstrument), [Austin: Python frame stack sampler for CPython](https://github.com/P403n1x87/austin), [py-spy: Sampling profiler for Python programs](https://github.com/benfred/py-spy), [Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python](https://github.com/plasma-umass/scalene)
