[ruby-core:120433] [Ruby master Feature#20987] Add dbg - minimal debugging helper
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2024-12-27 19:59:03 UTC
List:
ruby-core #120433
SXNzdWUgIzIwOTg3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4NCg0K DQpCYXNpY2FsbHksIEkgbGlrZSB0aGlzIHByb3Bvc2FsLg0KDQpJIHVzZSBgS2VybmVsI3BgIGFu ZCBgcHBgIGEgbG90IHdoZW4gZGVidWdnaW5nLg0KSSBvZnRlbiBpbmNsdWRlIGFuIGlkZW50aWZp ZXIgc3VjaCBhcyBgcCBbOmZvbywgb2JqXWAsIGBwIFs6YmFyLCBvYmpdYCB0byBkaXN0aW5ndWlz aCB3aGljaCBgcGAgdGhlIG91dHB1dCBpcyBmcm9tLiBJZiB0aGUgZGVidWcgb3V0cHV0IG1ldGhv ZCBpdHNlbGYgcHJpbnRzIHRoZSBjYWxsZXIgZmlsZW5hbWUsIHRoaXMgaWRlbnRpZmllciBtaWdo dCBiZSB1bm5lY2Vzc2FyeS4gKEJ1dCBUQkgsIEkgYW0gbm90IHN1cmUuIFRoZSBmaWxlbmFtZSBh bmQgbGluZSBudW1iZXIgY291bGQgYmUgaW5zdWZmaWNpZW50IGZvciBlYXN5IHJlY29nbml0aW9u LikNCkFsc28sIEkgZGVsZXRlIGFsbCBjYWxscyB0byBgcGAgYWZ0ZXIgZGVidWdnaW5nIGlzIGRv bmUsIGJ1dCBpdCBpcyBzb21ldGltZXMgZGlmZmljdWx0IHRvIGZpbmQgYWxsIGBwYCBjYWxscy4g SWYgYHBgIHdvdWxkIG91dHB1dCB0aGUgZmlsZW5hbWUsIHRoZSBkZWxldGlvbiBwcm9jZXNzIHdv dWxkIGJlIGRlZmluaXRlbHkgZWFzeS4NCg0KSSB0aGluayBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8g ZXh0ZW5kIGBwYCBpbnN0ZWFkIG9mIGludHJvZHVjaW5nIGBkYmdgLiBUaHJlZSBsZXR0ZXJzIGFy ZSB0b28gbG9uZyBmb3IgZXZlcnkgZGVidWcgbWV0aG9kIGNhbGwuDQoNCkFzIGZvciBhIGNvbmNl cm4sIGl0IG1heSBiZSB0cm91Ymxlc29tZSBmb3IgYHBgIHRvIGFsd2F5cyBwcmludCB0aGUgZmls ZW5hbWUuIEp1c3QgYW4gaWRlYSwgaG93IGFib3V0IG9wdC1pbiBieSBhbiBlbnZpcm9ubWVudCB2 YXJpYWJsZT8NCg0KYGBgDQokIHJ1YnkgZm9vLnJiDQoiSGVsbG8gd29ybGQiLg0KDQokIFA9MSBy dWJ5IGZvby5yYg0KW2Zvby5yYjoxXSAiSGVsbG8gd29ybGQiDQpgYGANCg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjA5ODc6IEFkZCBkYmcgLSBt aW5pbWFsIGRlYnVnZ2luZyBoZWxwZXINCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vl cy8yMDk4NyNjaGFuZ2UtMTExMjEwDQoNCiogQXV0aG9yOiBwYXd1cmIgKFBhd2VsIFVyYmFuZWsp DQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KSGkuIEl0J3MgbXkgZmlyc3QgdGltZSBjb250cmlidXRpbmcgaGVyZSwgc28gSSdtIHNvcnJ5 IGluIGFkdmFuY2UgaWYgSSd2ZSBtaXhlZCBzb21ldGhpbmcgdXAuDQoNCknigJltIGF1dGhvciBv ZiBodHRwczovL2dpdGh1Yi5jb20vcGF3dXJiL2RiZy1yYiBnZW0uIGBkYmdgIG1ldGhvZCBpcyBp bnNwaXJlZCBieSBSdXN0IHdoZXJlIGl0J3MgYnVpbHQtaW4gaW50byBzdGQtbGliIChodHRwczov L2RvYy5ydXN0LWxhbmcub3JnL3N0ZC9tYWNyby5kYmcuaHRtbCkuIEFGQUlLIGluIFJ1YnkgdGhl cmUncyBubyBzaW1wbGUgbWVjaGFuaXNtIHRvIHB1dHMgZGVidWcgdmFsdWVzIHRvZ2V0aGVyIHdp dGggY2FsbGVyIGluZm8gd2l0aG91dCB1c2luZyBleHRlcm5hbCBkZXBlbmRlbmNpZXMuIFdoYXTi gJlzIG1vcmUgZnJ1c3RyYXRpbmcgaXMgdGhhdCB3aGlsZSBgcCBuaWxgIG91dHB1dHMgYG5pbGAg dG8gdGhlIHN0ZCwgYHB1dHMgbmlsYCBwcmludHMgYSBibGFuayBsaW5lLCBzb21ldGltZXMgbWFr aW5nIGRlYnVnZ2luZyBzZXNzaW9ucyBjb25mdXNpbmcuDQoNCkkgd291bGQgbGlrZSB0byBwcm9w b3NlIGFkZGluZyBhIG1pbmltYWwgYGRiZ2AgaGVscGVyIG1ldGhvZCB0byBzdGRsaWI6DQoNCmBg YA0KZGJnKCJIZWxsbyB3b3JsZCIsIFsxLCAyLCAzXSkNCiMgPT4gW2Rpci9maWxlLnJiOjEyXSAi SGVsbG8gd29ybGQiDQojID0+IFtkaXIvZmlsZS5yYjoxMl0gWzEsIDIsIDNdDQpgYGANCg0KYGRi Z2Agd2lsbCBwcm9kdWNlIHZlcmJvc2Ugb3V0cHV0IHRvZ2V0aGVyIHdpdGggaW5mb3JtYXRpdmUg ZmlsZSBuYW1lIGFuZCBMT0MgaW5mby4gSSB0aGluayB0aGF0IHN1Y2ggYnVpbHQtaW4gZmVhdHVy ZSB3b3VsZCBiZSB1c2VmdWwgZm9yIG1hbnkgUnVieSBkZXZzLg0KDQpNeSBnZW0gdXNlcyBleHRl cm5hbCBkZXBlbmRlbmNpZXMsIGJ1dCBJJ3ZlIGNhbWUgdXAgd2l0aCB0aGlzIGJhcmVib25lcyBp bXBsZW1lbnRhdGlvbjoNCg0KYGBgDQpkZWYgZGJnKCptc2dzKQ0KICBsb2MgPSBjYWxsZXJfbG9j YXRpb25zLmZpcnN0LnRvX3MNCiAgbWF0Y2hpbmdfbG9jID0gbG9jLm1hdGNoKC8uKyhyYilcOlxk K1w6KGluKVxzLykNCiAgc3JjID0gaWYgbWF0Y2hpbmdfbG9jLm5pbD8NCiAgICAgIGxvYw0KICAg IGVsc2UNCiAgICAgIG1hdGNoaW5nX2xvY1swXVswLi4tNV0NCiAgICBlbmQNCiAgZmlsZSwgbGlu ZSA9IHNyYy5zcGxpdCgiOiIpDQogIGZpbGUgPSBmaWxlLnNwbGl0KCIvIikubGFzdCgyKS5qb2lu KCIvIikNCiAgc3JjID0gIlsje2ZpbGV9OiN7bGluZX1dIg0KDQogIG1zZ3MuZWFjaCBkbyB8bXNn fA0KICAgIHB1dHMgIiN7c3JjfSAje21zZy5pbnNwZWN0fSINCiAgZW5kDQogIG5pbA0KZW5kDQpg YGANCg0KDQotLS1GaWxlcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpTY3JlZW5z aG90IDIwMjQtMTItMjcgYXQgMDAuMDAuMjMucG5nICg4MS41IEtCKQ0KDQoNCi0tIA0KaHR0cHM6 Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVi eS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVh dmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxh bmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==