📄 gdb-safari
字号:
#!/usr/bin/perl -w# Copyright (C) 2005 Apple Computer, Inc. All rights reserved.## Redistribution and use in source and binary forms, with or without# modification, are permitted provided that the following conditions# are met:## 1. Redistributions of source code must retain the above copyright# notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright# notice, this list of conditions and the following disclaimer in the# documentation and/or other materials provided with the distribution. # 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of# its contributors may be used to endorse or promote products derived# from this software without specific prior written permission. ## THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.# Simplified "run under gdb" script for WebKit Open Source Project.use strict;use File::Temp qw/:mktemp/;use FindBin;use Getopt::Long qw(:config pass_through);use lib $FindBin::Bin;use webkitdirs;my $programName = basename($0);my $showHelp = 0;my $run64Bit;my $usage = <<EOF;Usage: $programName [options] --help Show this help message --64-bit Run in 64-bit modeEOFmy $getOptionsResult = GetOptions( 'help' => \$showHelp, '64-bit!' => \$run64Bit);if (!$getOptionsResult || $showHelp) { print STDERR $usage; exit 1;}setRun64Bit($run64Bit);setConfiguration();my $productDir = productDir();my $safariPath = safariPath();# Check to see that gdb is in the usual place.my $gdbPath = "/usr/bin/gdb";die "Can't find gdb executable. Is gdb installed?\n" unless -x $gdbPath;# Check to see that all the frameworks are built.checkFrameworks();# Put a command to set DYLD_FRAMEWORK_PATH in a temp file.# Also set WEBKIT_UNSET_DYLD_FRAMEWORK_PATH to YES in this environment, so that# executables launched by Safari don't inherit using the new frameworks.my ($fh, $path) = mkstemp("/tmp/gdb-safari-XXXX");print $fh "set env DYLD_FRAMEWORK_PATH $productDir\n";print $fh "set env WEBKIT_UNSET_DYLD_FRAMEWORK_PATH YES\n";my @architectureFlags = ("-arch", preferredArchitecture()) if isAppleMacWebKit() && !isTiger();# Start up Safari.print "Start Safari under gdb with DYLD_FRAMEWORK_PATH set to point to built WebKit in $productDir.\n";exec $gdbPath, "-x", $path, @architectureFlags, $safariPath or die;# Delete the temporary file.unlink0($fh, $path) or die "Error unlinking file $path safely";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -