| // Copyright 2018 The Fuchsia Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include <stdio.h> | |
| #include <atomic> | |
| #include "src/developer/debug/debug_agent/test_data/test_so_symbols.h" | |
| int gWatchpointVariable = 0; | |
| int InsertBreakpointFunction(int c) { | |
| printf("Should receive breakpoint!\n"); | |
| fflush(stdout); | |
| return 10 * c; | |
| } | |
| int InsertBreakpointFunction2(int c) { | |
| printf("Should also receive a breakpoint!\n"); | |
| fflush(stdout); | |
| return 9000 * c * c; | |
| } | |
| void AnotherFunctionForKicks() {} | |
| void MultithreadedFunctionToBreakOn() { | |
| // This counter is meant to be a bare-bones example of multi-threaded logic. | |
| static std::atomic<int> global_counter = 0; | |
| global_counter++; | |
| } | |
| void WatchpointFunction() { | |
| printf("gWatchpointVariable address: 0x%p\n", &gWatchpointVariable); | |
| fflush(stdout); | |
| gWatchpointVariable++; | |
| } |