A check on get_alternate_endpoint() size should be added before the following line at the end of Dserver::zmq_event_subscription_change() method
tmp_str = ev->get_alternate_event_endpoint()[loop];
The check is present a bit above in similar code of the same method.
A crash on Windows (only in DEBUG mode) has been reported by SangKee Lee on the tango-controls forum because of this issue.
(http://www.tango-controls.org/community/forum/c/development/c/set_change_event-with-nodb-option-detect-not-working/?page=2#post-1739)
Fixed in SVN
Note that the reason of the problem was not exactly the one described but rather a lack of some variables initialization in case of DS started without DB