Commit fcd96bf
Add memory watchpoint support for source debugger (#1762)
Allow to add watchpoints to variables for source debugging. For instance:
`breakpoint set variable var`
will pause WAMR execution when the address at var is written to.
Can also set read/write watchpoints by passing r/w flags. This will pause
execution when the address at var is read:
`watchpoint set variable -w read var`
Add two linked lists for read/write watchpoints. When the debug message
handler receives a watchpoint request, it adds/removes to one/both of these
lists. In the interpreter, when an address is read or stored to, check whether
the address is in these lists. If so, throw a sigtrap and suspend the process.1 parent 0b48943 commit fcd96bf
File tree
4 files changed
+265
-25
lines changed- core/iwasm
- interpreter
- libraries/debug-engine
4 files changed
+265
-25
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
73 | 102 | | |
74 | 103 | | |
75 | 104 | | |
| |||
1127 | 1156 | | |
1128 | 1157 | | |
1129 | 1158 | | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
1130 | 1162 | | |
1131 | 1163 | | |
1132 | 1164 | | |
| |||
1792 | 1824 | | |
1793 | 1825 | | |
1794 | 1826 | | |
| 1827 | + | |
1795 | 1828 | | |
1796 | 1829 | | |
1797 | 1830 | | |
| |||
1806 | 1839 | | |
1807 | 1840 | | |
1808 | 1841 | | |
| 1842 | + | |
1809 | 1843 | | |
1810 | 1844 | | |
1811 | 1845 | | |
| |||
1819 | 1853 | | |
1820 | 1854 | | |
1821 | 1855 | | |
| 1856 | + | |
1822 | 1857 | | |
1823 | 1858 | | |
1824 | 1859 | | |
| |||
1832 | 1867 | | |
1833 | 1868 | | |
1834 | 1869 | | |
| 1870 | + | |
1835 | 1871 | | |
1836 | 1872 | | |
1837 | 1873 | | |
| |||
1845 | 1881 | | |
1846 | 1882 | | |
1847 | 1883 | | |
| 1884 | + | |
1848 | 1885 | | |
1849 | 1886 | | |
1850 | 1887 | | |
| |||
1858 | 1895 | | |
1859 | 1896 | | |
1860 | 1897 | | |
| 1898 | + | |
1861 | 1899 | | |
1862 | 1900 | | |
1863 | 1901 | | |
| |||
1871 | 1909 | | |
1872 | 1910 | | |
1873 | 1911 | | |
| 1912 | + | |
1874 | 1913 | | |
1875 | 1914 | | |
1876 | 1915 | | |
| |||
1884 | 1923 | | |
1885 | 1924 | | |
1886 | 1925 | | |
| 1926 | + | |
1887 | 1927 | | |
1888 | 1928 | | |
1889 | 1929 | | |
| |||
1897 | 1937 | | |
1898 | 1938 | | |
1899 | 1939 | | |
| 1940 | + | |
1900 | 1941 | | |
1901 | 1942 | | |
1902 | 1943 | | |
| |||
1910 | 1951 | | |
1911 | 1952 | | |
1912 | 1953 | | |
| 1954 | + | |
1913 | 1955 | | |
1914 | 1956 | | |
1915 | 1957 | | |
| |||
1924 | 1966 | | |
1925 | 1967 | | |
1926 | 1968 | | |
| 1969 | + | |
1927 | 1970 | | |
1928 | 1971 | | |
1929 | 1972 | | |
| |||
1937 | 1980 | | |
1938 | 1981 | | |
1939 | 1982 | | |
| 1983 | + | |
1940 | 1984 | | |
1941 | 1985 | | |
1942 | 1986 | | |
| |||
1953 | 1997 | | |
1954 | 1998 | | |
1955 | 1999 | | |
| 2000 | + | |
1956 | 2001 | | |
1957 | 2002 | | |
1958 | 2003 | | |
| |||
1969 | 2014 | | |
1970 | 2015 | | |
1971 | 2016 | | |
| 2017 | + | |
1972 | 2018 | | |
1973 | 2019 | | |
1974 | 2020 | | |
| |||
1993 | 2039 | | |
1994 | 2040 | | |
1995 | 2041 | | |
1996 | | - | |
| 2042 | + | |
1997 | 2043 | | |
1998 | 2044 | | |
1999 | 2045 | | |
| |||
2023 | 2069 | | |
2024 | 2070 | | |
2025 | 2071 | | |
| 2072 | + | |
2026 | 2073 | | |
2027 | 2074 | | |
2028 | 2075 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
392 | 392 | | |
393 | 393 | | |
394 | 394 | | |
| 395 | + | |
| 396 | + | |
395 | 397 | | |
396 | 398 | | |
397 | 399 | | |
| |||
452 | 454 | | |
453 | 455 | | |
454 | 456 | | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
455 | 474 | | |
456 | 475 | | |
457 | 476 | | |
| |||
472 | 491 | | |
473 | 492 | | |
474 | 493 | | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
475 | 498 | | |
476 | 499 | | |
477 | 500 | | |
| |||
995 | 1018 | | |
996 | 1019 | | |
997 | 1020 | | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
998 | 1080 | | |
999 | 1081 | | |
1000 | 1082 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
39 | 45 | | |
40 | 46 | | |
41 | 47 | | |
| |||
56 | 62 | | |
57 | 63 | | |
58 | 64 | | |
| 65 | + | |
| 66 | + | |
59 | 67 | | |
60 | 68 | | |
61 | 69 | | |
| |||
184 | 192 | | |
185 | 193 | | |
186 | 194 | | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
187 | 211 | | |
188 | 212 | | |
189 | 213 | | |
| |||
0 commit comments