{"id":697,"date":"2020-05-05T21:56:00","date_gmt":"2020-05-06T03:56:00","guid":{"rendered":"https:\/\/www.great-white-software.com\/blog\/?p=697"},"modified":"2020-04-16T20:20:57","modified_gmt":"2020-04-17T02:20:57","slug":"who-set-that-and-who-wants-to-read-it","status":"publish","type":"post","link":"https:\/\/www.great-white-software.com\/blog\/2020\/05\/05\/who-set-that-and-who-wants-to-read-it\/","title":{"rendered":"Who set that (and who wants to read it) ?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Sometimes you&#8217;d like to use what in other languages is referred to as a watchpoint. Some hardware support exists for this in Intel CPU&#8217;s but it is limited (there are only a handful or hardware watchpoints available.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Or it could be done in software; but as <a href=\"https:\/\/en.wikipedia.org\/wiki\/Breakpoint\">noted on Wikipedia<\/a> this is a ton slower.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Xojo really doesn&#8217;t support either type.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But, you can fake it by using computed properties. And since Xojo makes it easy to switch between a public property and a computed one WITHOUT having to update your code (this is a wonderful feature) you can quickly and easily put whatever break points and conditional watches you want IN your code and have much of the benefit of watchpoints.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have a public property that you want to see who is setting it simply<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>select the property<\/li><li>right click and select &#8220;Convert to computed property&#8221;<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">And now you can put a break point in the SET, or GET, code for that computed property.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With some creativity you could even get to being able to modify whether the break point is reached while watching your program execute.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sometimes you&#8217;d like to use what in other languages is referred to as a watchpoint. Some hardware support exists for this in Intel CPU&#8217;s but it is limited (there are only a handful or hardware watchpoints available.) Or it could be done in software; but as noted on Wikipedia this is a ton slower. Xojo &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.great-white-software.com\/blog\/2020\/05\/05\/who-set-that-and-who-wants-to-read-it\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Who set that (and who wants to read it) ?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-697","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/posts\/697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/comments?post=697"}],"version-history":[{"count":2,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/posts\/697\/revisions"}],"predecessor-version":[{"id":710,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/posts\/697\/revisions\/710"}],"wp:attachment":[{"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/media?parent=697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/categories?post=697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/tags?post=697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}