-
-
Notifications
You must be signed in to change notification settings - Fork 221
Expand file tree
/
Copy pathxdebug.php
More file actions
66 lines (48 loc) · 1.33 KB
/
xdebug.php
File metadata and controls
66 lines (48 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
declare(strict_types=1);
require __DIR__ . '/../src/tracy.php';
use Tracy\Debugger;
// For security reasons, Tracy is visible only on localhost.
// You may force Tracy to run in development mode by passing the Debugger::Development instead of Debugger::Detect.
//Debugger::$strictMode = true;
Debugger::enable(Debugger::Detect, __DIR__ . '/log');
?>
<!DOCTYPE html><link rel="stylesheet" href="assets/style.css">
<h1>Tracy: exception demo</h1>
<?php
class DemoClass
{
public function first($arg1, $arg2)
{
$arg1 = 'new';
$arg3 = 'xxx';
$this->second();
}
public function second()
{
self::third([1, 2, 3]);
}
public static function third($arg5)
{
//require __DIR__ . '/assets/E_COMPILE_WARNING-1.php';
//require __DIR__ . '/assets/E_COMPILE_ERROR.php';
// trigger_error('jo', E_USER_ERROR);
// dump(new Exception);
// dumpe(xdebug_get_function_stack( [ 'local_vars' => true, 'params_as_values' => true ] ));
try {
throw new Exception('Original');
} catch (Exception $e) {
throw new Exception('The my exception', 123, $e);
}
$a++;
}
}
function demo($a, $b)
{
$demo = new DemoClass;
$demo->first($a, $b);
}
if (Debugger::$productionMode) {
echo '<p><b>For security reasons, Tracy is visible only on localhost. Look into the source code to see how to enable Tracy.</b></p>';
}
demo(10, 'any string');