objc.io 1.3 测试驱动 (转)

本文介绍了一种测试驱动开发(TDD)的方法,通过具体案例演示如何使用OCMock进行单元测试,确保代码质量的同时提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们不是迷信测试,但它应该帮助我们加快开发进度,并且让事情变得更有趣。

让事情保持简单

测试简单的事情很简单,同样,测试复杂的事会很复杂。就像我们在其他文章中指出的那样,让事情保持简单小巧总是好的。除此之外,它还有利于我们测试。这是件双赢的事。让我们来看看测试驱动开发(简称 TDD),有些人喜欢它,有些人则不喜欢。我们在这里不深入讨论,只是如果用 TDD,你得在写代码之前先写好测试。如果你好奇的话,可以去找 Wikipedia 上的文章看看。同时,我们也认为重构和测试可以很好地结合在一起。

测试 UI 部分通常很麻烦,因为它们包含太多活动部件。通常,view controller 需要和大量的 model 和 view 类交互。为了使 view controller 便于测试,我们要让任务尽量分离。

幸好,我们在更轻量的 view controller 这篇文章中的阐述的技术可以让测试更加简单。通常,如果你发现有些地方很难做测试,这就说明你的设计出了问题,你应该重构它。你可以重新参考更轻量的 view controller 这篇文章来获得一些帮助。总的目标就是有清晰的关注点分离。每个类只做一件事,并且做好。这样就可以让你只测试这件事。

记住:测试越多,回报的增长趋势越慢。首先你应该做简单的测试。当你觉得满意时,再加入更多复杂的测试。

Mocking

当你把一个整体拆分成小零件(比如更小的类)时,我们可以针对每个小的类来进行测试。但由于我们测试的类会和其他类交互,这里我们用一个所谓的 mockstub 来绕开它。把 mock 对象看成是一个占位符,我们测试的类会跟这个占位符交互,而不是真正的那个对象。这样,我们就可以针对性地测试,并且保证不依赖于应用程序的其他部分。

在示例程序中,我们有个包含数组的 data source 需要测试。这个 data source 会在某个时候从 table view 中取出(dequeue)一个 cell。在测试过程中,还没有 table view,但是我们传递一个 mock 的 table view,这样即使没有 table view,也可以测试 data source,就像下面你即将看到的。起初可能有点难以理解,多看几次后,你就能体会到它的强大和简单。

Objective-C 中有个用来 mocking 的强大工具叫做 OCMock。它是一个非常成熟的项目,充分利用了 Objective-C 运行时强大的能力和灵活性。它使用了一些很酷的技巧,让通过 mock 对象来测试变得更加有趣。

本文后面有 data source 测试的例子,它更加详细地展示了这些技术如何工作在一起。

SenTestKit

编者注 这一节有一些过时了。在 Xcode 5 中 SenTestingKit 已经被 XCTest 完全取代,不过两者使用上没有太多区别,我们可以通过 Xcode 的 Edit -> Refactor -> Convert to XCTest 选项来切换到新的测试框架

我们将要使用的另一个工具是一个测试框架,开发者工具的一部分:Sente 的 SenTestingKit。这个上古神器从 1997 年起就伴随在 Objective-C 开发者左右,比第一款 iPhone 发布还早 10 年。现在,它已经集成到 Xcode 中了。SenTestingKit 会运行你的测试。通过 SenTestingKit,你将测试组织在类中。你需要给每一个你想测试的类创建一个测试类,类名以 Tests 结尾,它反应了这个类是干什么的。

这些测试类里的方法会做具体的测试工作。方法名必须以 test 开头来作为触发一个测试运行的条件。还有特殊的 -setUp-tearDown 方法,你可以重载它们来设置各个测试。记住,你的测试类就是个类而已:只要对你有帮助,可以按需求在里面加 properties 和辅助方法。

做测试时,为测试类创建基类是个不错的模式。把通用的逻辑放到基类里面,可以让测试更简单和集中。可以通过示例程序中的例子来看看这样带来的好处。我们没有使用 Xcode 的测试模板,为了让事情简单有效,我们只创建了单独的 .m 文件。通过把类名改成以 Tests 结尾,类名可以反映出我们在对什么做测试。

编者注 Xcode 5 中 默认的测试模板也不再会自动创建 .h 文件了

与 Xcode 集成

测试会被 build 成一个 bundle,其中包含一个动态库和你选择的资源文件。如果你要测试某些资源文件,你得把它们加到测试的 target 中,Xcode 就会将它们打包到一个 bundle 中。接着你可以通过 NSBundle 来定位这些资源文件,示例项目实现了一个 -URLForResource:withExtension: 方法来方便的使用它。

Xcode 中的每个 scheme 定义了相应的测试 bundle 是哪个。通过 ⌘-R 运行程序,⌘-U 运行测试。

测试的运行依附于程序的运行,当程序运行时,测试 bundle 将被注入(injected)。测试时,你可能不想让你的程序做太多的事,那样会对测试造成干扰。可以把下面的代码加到 app delegate 中:

static BOOL isRunningTests(void) __attribute__((const));

- (BOOL)application:(UIApplication *)application
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if (isRunningTests()) {
        return YES;
    }

    //
    // Normal logic goes here
    //

    return YES;
}

static BOOL isRunningTests(void)
{
    NSDictionary* environment = [[NSProcessInfo processInfo] environment];
    NSString* injectBundle = environment[@"XCInjectBundle"];
    return [[injectBundle pathExtension] isEqualToString:@"octest"];
}

编辑 Scheme 给了你极大的灵活性。你可以在测试之前或之后运行脚本,也可以有多个测试 bundle。这对大型项目来说很有用。最重要的是,可以打开或关闭个别测试,这对调试测试非常有用,只是要记得之后再把它们重新全部打开。

还要记住你可以为测试代码下断点,当测试执行时,调试器会在断点处停下来。

测试 Data Source

好了,让我们开始吧。我们已经通过拆分 view controller 让测试工作变得更轻松了。现在我们要测试 ArrayDataSource。首先我们新建一个空的,基本的测试类。我们把接口和实现都放到一个文件里;也没有哪个地方需要包含 @interface,放到一个文件会显得更加漂亮和整洁。

#import "PhotoDataTestCase.h"

@interface ArrayDataSourceTest : PhotoDataTestCase
@end

@implementation ArrayDataSourceTest
- (void)testNothing;
{
    STAssertTrue(YES, @"");
}
@end

这个类没做什么事,只是展示了基本的设置。当我们运行这个测试时,-testNothing 方法将会运行。特别地,STAssert 宏将会做琐碎的检查。注意,前缀 ST 源自于 SenTestingKit。这些宏和 Xcode 集成,会把失败显示到侧边面板的 Issues 导航栏中。

第一个测试

我们现在把 testNothing 替换成一个简单、真正的测试:

- (void)testInitializing;
{
    STAssertNil([[ArrayDataSource alloc] init], @"Should not be allowed.");
    TableViewCellConfigureBlock block = ^(UITableViewCell *a, id b){};
    id obj1 = [[ArrayDataSource alloc] initWithItems:@[]
                                      cellIdentifier:@"foo"
                                  configureCellBlock:block];
    STAssertNotNil(obj1, @"");
}

实践 Mocking

接着,我们想测试 ArrayDataSource 实现的方法:

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath;

为此,我们创建一个测试方法:

- (void)testCellConfiguration;

首先,创建一个 data source:

__block UITableViewCell *configuredCell = nil;
__block id configuredObject = nil;
TableViewCellConfigureBlock block = ^(UITableViewCell *a, id b){
    configuredCell = a;
    configuredObject = b;
};
ArrayDataSource *dataSource = [[ArrayDataSource alloc] initWithItems:@[@"a", @"b"]
                                                      cellIdentifier:@"foo"
                                                  configureCellBlock:block];

注意,configureCellBlock 除了存储对象以外什么都没做,这可以让我们可以更简单地测试它。

然后,我们为 table view 创建一个 mock 对象

id mockTableView = [OCMockObject mockForClass:[UITableView class]];

Data source 将在传进来的 table view 上调用 -dequeueReusableCellWithIdentifier:forIndexPath: 方法。我们将告诉 mock object 当它收到这个消息时要做什么。首先创建一个 cell,然后设置 mock

UITableViewCell *cell = [[UITableViewCell alloc] init];
NSIndexPath* indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[[[mockTableView expect] andReturn:cell]
        dequeueReusableCellWithIdentifier:@"foo"
                             forIndexPath:indexPath];

第一次看到它可能会觉得有点迷惑。我们在这里所做的,是让 mock 记录特定的调用。Mock 不是一个真正的 table view;我们只是假装它是。-expect 方法允许我们设置一个 mock,让它知道当这个方法调用时要做什么。

另外,-expect 方法也告诉 mock 这个调用必须发生。当我们稍后在 mock 上调用 -verify 时,如果那个方法没有被调用过,测试就会失败。相应地,-stub 方法也用来设置 mock 对象,但它不关心方法是否被调用过。

现在,我们要触发代码运行。我们就调用我们希望测试的方法。

NSIndexPath* indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
id result = [dataSource tableView:mockTableView
            cellForRowAtIndexPath:indexPath];

然后我们测试是否一切正常:

STAssertEquals(result, cell, @"Should return the dummy cell.");
STAssertEquals(configuredCell, cell, @"This should have been passed to the block.");
STAssertEqualObjects(configuredObject, @"a", @"This should have been passed to the block.");
[mockTableView verify];

STAssert 宏测试值的相等性。注意,前两个测试,我们通过比较指针来完成;我们不使用 -isEqual:,是因为我们实际希望测试的是 resultcellconfiguredCell 都是同一个对象。第三个测试要用 -isEqual:,最后我们调用 mock 的 -verify 方法。

注意,在示例程序中,我们是这样设置 mock 的:

id mockTableView = [self autoVerifiedMockForClass:[UITableView class]];

这是我们测试基类中的一个方便的封装,它会在测试最后自动调用 -verify 方法。

测试 UITableViewController

下面,我们转向 PhotosViewController。它是个 UITableViewController 的子类,它使用了我们刚才测试过的 data source。View controller 剩下的代码已经相当简单了。

我们想测试点击 cell 后把我们带到详情页面,即一个 PhotoViewController 的实例被 push 到 navigation controller 里面。我们再次使用 mocking 来让测试尽可能不依赖于其他部分。

首先我们创建一个 UINavigationController 的 mock:

id mockNavController = [OCMockObject mockForClass:[UINavigationController class]];

接下来,我们要使用部分 mocking。我们希望 PhotosViewController 实例的 navigationController 返回 mockNavController。我们不能直接设置 navigation controller,所以我们简单地用 stub 来替换掉 PhotosViewController 实例这个方法,让它返回 mockNavController 就可以了。

PhotosViewController *photosViewController = [[PhotosViewController alloc] init];
id photosViewControllerMock = [OCMockObject partialMockForObject:photosViewController];
[[[photosViewControllerMock stub] andReturn:mockNavController] navigationController];

现在,任何时候对 photosViewController 调用 -navigationController 方法,都会返回 mockNavController。这是个强大的技巧,OCMock 就有这样的本领。

接下来,我们要告诉 navigation controller mock 我们调用的期望,即,一个 photo 不为 nil 的 detail view controller。

UIViewController* viewController = [OCMArg checkWithBlock:^BOOL(id obj) {
    PhotoViewController *vc = obj;
    return ([vc isKindOfClass:[PhotoViewController class]] &&
            (vc.photo != nil));
}];
[[mockNavController expect] pushViewController:viewController animated:YES];

现在,我们触发 view 加载,并且模拟一行被点击:

UIView *view = photosViewController.view;
STAssertNotNil(view, @"");
NSIndexPath* indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[photosViewController tableView:photosViewController.tableView
        didSelectRowAtIndexPath:indexPath];

最后我们验证 mocks 上期望的方法被调用过:

[mockNavController verify];
[photosViewControllerMock verify];

现在我们有了一个测试,用来测试和 navigation controller 的交互,以及正确 view controller 的创建。

又一次地,我们在示例程序中使用了便捷的方法:

- (id)autoVerifiedMockForClass:(Class)aClass;
- (id)autoVerifiedPartialMockForObject:(id)object;

于是,我们不需要记住调用 -verify

进一步探索

就像你从上面看到的那样,部分 mocking 非常强大。如果你看看 -[PhotosViewController setupTableView] 方法的源码,你就会看到它是如何从 app delegate 中取出 model 对象的。

NSArray *photos = [AppDelegate sharedDelegate].store.sortedPhotos;

上面的测试依赖于这行代码。打破这种依赖的一种方式是再次使用 部分 mocking,让 app delegate 返回预定义的数据,就像这样:

id storeMock; // 假设我们已经设置过了
id appDelegate = [AppDelegate sharedDelegate]
id appDelegateMock = [OCMockObject partialMockForObject:appDelegate];
[[[appDelegateMock stub] andReturn:storeMock] store];

现在,无论何时调用 [AppDelegate sharedDelegate].store ,它将返回 storeMock。将这个技术使用好的话,可以确保让你的测试恰到好处地在保持简单和应对复杂之间找到平衡。

需要记住的事

部分 mock 技术将会在 mocks 的存在期间替换并保持被 mocking 的对象,并且一直有效。你可以通过提前调用 [aMock stopMocking] 来终于这种行为。大多数时候,你希望 部分 mock 在整个测试期间都保持有效。如果要提前终止,请确保在测试方法最后放置 [aMock verify]。否则 ARC 会过早释放这个 mock,这样你就不能 -verify 了,这不太可能是你想要的结果。

测试 NIB 加载

PhotoCell 设置在一个 NIB 中,我们可以写一个简单的测试来检查 outlets 设置得是否正确。我们来回顾一下 PhotoCell 类:

@interface PhotoCell : UITableViewCell

+ (UINib *)nib;

@property (weak, nonatomic) IBOutlet UILabel* photoTitleLabel;
@property (weak, nonatomic) IBOutlet UILabel* photoDateLabel;

@end

我们的简单测试的实现看上去是这样:

@implementation PhotoCellTests

- (void)testNibLoading;
{
    UINib *nib = [PhotoCell nib];
    STAssertNotNil(nib, @"");

    NSArray *a = [nib instantiateWithOwner:nil options:@{}];
    STAssertEquals([a count], (NSUInteger) 1, @"");
    PhotoCell *cell = a[0];
    STAssertTrue([cell isMemberOfClass:[PhotoCell class]], @"");

    // 检查 outlet 是否正确设置
    STAssertNotNil(cell.photoTitleLabel, @"");
    STAssertNotNil(cell.photoDateLabel, @"");
}

@end

非常基础,但是能出色完成工作。

值得一提的是,当有发生改变时,我们需要同时更新测试以及相应的类或 nib 。这是事实。你需要考虑改变类或者 nib 文件时可能会打破原有的 outlets 连接。如果你用了 .xib 文件,你可能要注意了,这是经常发生的事。

关于 Class 和 Injection

我们已经从与 Xcode 集成得知,测试 bundle 会注入到应用程序中。省略注入的如何工作的细节(它本身是个巨大的话题),简单地说:注入是把待注入的 bundle(我们的测试 bundle)中的 Objective-C 类添加到运行的应用程序中。这很好,因为这样允许我们运行测试了。

还有一件事会很让人迷惑,那就是如果我们同时把一个类添加到应用程序和测试 bundle中。如果在上面的示例程序中,我们(不小心)把 PhotoCell 类同时添加到测试 bundle 和应用程序里的话,在测试 bundle 中调用 [PhotoCell class] 会返回一个不同的指针(你应用程序中的那个类)。于是我们的测试将会失败:

STAssertTrue([cell isMemberOfClass:[PhotoCell class]], @"");

再一次声明:注入很复杂。你应该确认的是:不要把应用程序中的 .m 文件添加到测试 target 中。否则你会得到预想不到的行为。

额外的思考

如果你使用一个持续集成 (CI) 的解决方案,让你的测试启动和运行是一个好主意。详细的描述超过了本文的范围。这些脚本通过 RunUnitTests 脚本触发。还有个 TEST_AFTER_BUILD 环境变量。

另一种有趣的选择是创建单独的测试 bundle 来自动化性能测试。你可以在测试方法里做任何你想做的。定时调用一些方法并使用 STAssert 来检查它们是否在特定阈值里面是其中一种选择。

扩展阅读


原文 Testing View Controllers

译文 测试 View Controllers - 言无不尽

C:\Users\Lenovo\.jdks\corretto-1.8.0_462\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:D:\IntelliJ IDEA 2025.2\lib\idea_rt.jar=12459" -Dfile.encoding=UTF-8 -classpath "C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\charsets.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\access-bridge-64.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\cldrdata.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\dnsns.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\jaccess.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\jfxrt.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\localedata.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\nashorn.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\sunec.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\sunjce_provider.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\sunmscapi.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\sunpkcs11.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\ext\zipfs.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\jce.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\jfr.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\jfxswt.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\jsse.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\management-agent.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\resources.jar;C:\Users\Lenovo\.jdks\corretto-1.8.0_462\jre\lib\rt.jar;E:\前后端代码\shigong-new_20250810 (2)\shigong-new - 副本\ruoyi-auth\target\classes;C:\JAVA\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-discovery\2021.0.5.0\spring-cloud-starter-alibaba-nacos-discovery-2021.0.5.0.jar;C:\JAVA\repository\com\alibaba\cloud\spring-cloud-alibaba-commons\2021.0.5.0\spring-cloud-alibaba-commons-2021.0.5.0.jar;C:\JAVA\repository\com\alibaba\nacos\nacos-client\2.2.0\nacos-client-2.2.0.jar;C:\JAVA\repository\com\alibaba\nacos\nacos-auth-plugin\2.2.0\nacos-auth-plugin-2.2.0.jar;C:\JAVA\repository\com\alibaba\nacos\nacos-encryption-plugin\2.2.0\nacos-encryption-plugin-2.2.0.jar;C:\JAVA\repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;C:\JAVA\repository\com\fasterxml\jackson\core\jackson-core\2.13.5\jackson-core-2.13.5.jar;C:\JAVA\repository\com\fasterxml\jackson\core\jackson-databind\2.13.5\jackson-databind-2.13.5.jar;C:\JAVA\repository\com\fasterxml\jackson\core\jackson-annotations\2.13.5\jackson-annotations-2.13.5.jar;C:\JAVA\repository\org\apache\httpcomponents\httpasyncclient\4.1.5\httpasyncclient-4.1.5.jar;C:\JAVA\repository\org\apache\httpcomponents\httpcore\4.4.16\httpcore-4.4.16.jar;C:\JAVA\repository\org\apache\httpcomponents\httpcore-nio\4.4.16\httpcore-nio-4.4.16.jar;C:\JAVA\repository\org\apache\httpcomponents\httpclient\4.5.14\httpclient-4.5.14.jar;C:\JAVA\repository\io\prometheus\simpleclient\0.15.0\simpleclient-0.15.0.jar;C:\JAVA\repository\io\prometheus\simpleclient_tracer_otel\0.15.0\simpleclient_tracer_otel-0.15.0.jar;C:\JAVA\repository\io\prometheus\simpleclient_tracer_common\0.15.0\simpleclient_tracer_common-0.15.0.jar;C:\JAVA\repository\io\prometheus\simpleclient_tracer_otel_agent\0.15.0\simpleclient_tracer_otel_agent-0.15.0.jar;C:\JAVA\repository\org\yaml\snakeyaml\1.30\snakeyaml-1.30.jar;C:\JAVA\repository\com\alibaba\spring\spring-context-support\1.0.11\spring-context-support-1.0.11.jar;C:\JAVA\repository\org\springframework\cloud\spring-cloud-commons\3.1.7\spring-cloud-commons-3.1.7.jar;C:\JAVA\repository\org\springframework\security\spring-security-crypto\5.7.9\spring-security-crypto-5.7.9.jar;C:\JAVA\repository\org\springframework\cloud\spring-cloud-context\3.1.7\spring-cloud-context-3.1.7.jar;C:\JAVA\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-config\2021.0.5.0\spring-cloud-starter-alibaba-nacos-config-2021.0.5.0.jar;C:\JAVA\repository\org\slf4j\slf4j-api\1.7.36\slf4j-api-1.7.36.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-starter-web\2.7.13\spring-boot-starter-web-2.7.13.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-starter\2.7.13\spring-boot-starter-2.7.13.jar;C:\JAVA\repository\org\springframework\boot\spring-boot\2.7.13\spring-boot-2.7.13.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-autoconfigure\2.7.13\spring-boot-autoconfigure-2.7.13.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-starter-logging\2.7.13\spring-boot-starter-logging-2.7.13.jar;C:\JAVA\repository\ch\qos\logback\logback-classic\1.2.12\logback-classic-1.2.12.jar;C:\JAVA\repository\ch\qos\logback\logback-core\1.2.12\logback-core-1.2.12.jar;C:\JAVA\repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.2\log4j-to-slf4j-2.17.2.jar;C:\JAVA\repository\org\apache\logging\log4j\log4j-api\2.17.2\log4j-api-2.17.2.jar;C:\JAVA\repository\org\slf4j\jul-to-slf4j\1.7.36\jul-to-slf4j-1.7.36.jar;C:\JAVA\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\JAVA\repository\org\springframework\spring-core\5.3.28\spring-core-5.3.28.jar;C:\JAVA\repository\org\springframework\spring-jcl\5.3.28\spring-jcl-5.3.28.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-starter-json\2.7.13\spring-boot-starter-json-2.7.13.jar;C:\JAVA\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.5\jackson-datatype-jdk8-2.13.5.jar;C:\JAVA\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.5\jackson-datatype-jsr310-2.13.5.jar;C:\JAVA\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.5\jackson-module-parameter-names-2.13.5.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-starter-tomcat\2.7.13\spring-boot-starter-tomcat-2.7.13.jar;C:\JAVA\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.76\tomcat-embed-core-9.0.76.jar;C:\JAVA\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.76\tomcat-embed-el-9.0.76.jar;C:\JAVA\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.76\tomcat-embed-websocket-9.0.76.jar;C:\JAVA\repository\org\springframework\spring-web\5.3.28\spring-web-5.3.28.jar;C:\JAVA\repository\org\springframework\spring-beans\5.3.28\spring-beans-5.3.28.jar;C:\JAVA\repository\org\springframework\spring-webmvc\5.3.28\spring-webmvc-5.3.28.jar;C:\JAVA\repository\org\springframework\spring-aop\5.3.28\spring-aop-5.3.28.jar;C:\JAVA\repository\org\springframework\spring-context\5.3.28\spring-context-5.3.28.jar;C:\JAVA\repository\org\springframework\spring-expression\5.3.28\spring-expression-5.3.28.jar;E:\前后端代码\shigong-new_20250810 (2)\shigong-new - 副本\ruoyi-common\ruoyi-common-security\target\classes;E:\前后端代码\shigong-new_20250810 (2)\shigong-new - 副本\ruoyi-api\ruoyi-api-system\target\classes;E:\前后端代码\shigong-new_20250810 (2)\shigong-new - 副本\ruoyi-common\ruoyi-common-core\target\classes;C:\JAVA\repository\org\springframework\cloud\spring-cloud-starter-openfeign\3.1.8\spring-cloud-starter-openfeign-3.1.8.jar;C:\JAVA\repository\io\github\openfeign\feign-core\11.10\feign-core-11.10.jar;C:\JAVA\repository\io\github\openfeign\feign-slf4j\11.10\feign-slf4j-11.10.jar;C:\JAVA\repository\org\springframework\cloud\spring-cloud-starter-loadbalancer\3.1.7\spring-cloud-starter-loadbalancer-3.1.7.jar;C:\JAVA\repository\org\springframework\cloud\spring-cloud-loadbalancer\3.1.7\spring-cloud-loadbalancer-3.1.7.jar;C:\JAVA\repository\io\projectreactor\reactor-core\3.4.30\reactor-core-3.4.30.jar;C:\JAVA\repository\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;C:\JAVA\repository\io\projectreactor\addons\reactor-extra\3.4.10\reactor-extra-3.4.10.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-starter-cache\2.7.13\spring-boot-starter-cache-2.7.13.jar;C:\JAVA\repository\com\stoyanr\evictor\1.0.0\evictor-1.0.0.jar;C:\JAVA\repository\org\springframework\spring-context-support\5.3.28\spring-context-support-5.3.28.jar;C:\JAVA\repository\com\alibaba\transmittable-thread-local\2.14.3\transmittable-thread-local-2.14.3.jar;C:\JAVA\repository\com\github\pagehelper\pagehelper-spring-boot-starter\1.4.7\pagehelper-spring-boot-starter-1.4.7.jar;C:\JAVA\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\2.3.1\mybatis-spring-boot-starter-2.3.1.jar;C:\JAVA\repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\2.3.1\mybatis-spring-boot-autoconfigure-2.3.1.jar;C:\JAVA\repository\org\mybatis\mybatis\3.5.13\mybatis-3.5.13.jar;C:\JAVA\repository\org\mybatis\mybatis-spring\2.1.1\mybatis-spring-2.1.1.jar;C:\JAVA\repository\com\github\pagehelper\pagehelper-spring-boot-autoconfigure\1.4.7\pagehelper-spring-boot-autoconfigure-1.4.7.jar;C:\JAVA\repository\com\github\pagehelper\pagehelper\5.3.3\pagehelper-5.3.3.jar;C:\JAVA\repository\com\github\jsqlparser\jsqlparser\4.5\jsqlparser-4.5.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-starter-validation\2.7.13\spring-boot-starter-validation-2.7.13.jar;C:\JAVA\repository\org\hibernate\validator\hibernate-validator\6.2.5.Final\hibernate-validator-6.2.5.Final.jar;C:\JAVA\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\JAVA\repository\org\jboss\logging\jboss-logging\3.4.3.Final\jboss-logging-3.4.3.Final.jar;C:\JAVA\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\JAVA\repository\com\alibaba\fastjson2\fastjson2\2.0.39\fastjson2-2.0.39.jar;C:\JAVA\repository\io\jsonwebtoken\jjwt\0.9.1\jjwt-0.9.1.jar;C:\JAVA\repository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;C:\JAVA\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;C:\JAVA\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\JAVA\repository\commons-io\commons-io\2.13.0\commons-io-2.13.0.jar;C:\JAVA\repository\org\apache\poi\poi-ooxml\4.1.2\poi-ooxml-4.1.2.jar;C:\JAVA\repository\org\apache\poi\poi-ooxml-schemas\4.1.2\poi-ooxml-schemas-4.1.2.jar;C:\JAVA\repository\org\apache\xmlbeans\xmlbeans\3.1.0\xmlbeans-3.1.0.jar;C:\JAVA\repository\org\apache\commons\commons-compress\1.19\commons-compress-1.19.jar;C:\JAVA\repository\com\github\virtuald\curvesapi\1.06\curvesapi-1.06.jar;C:\JAVA\repository\org\apache\poi\poi\4.1.2\poi-4.1.2.jar;C:\JAVA\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;C:\JAVA\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;C:\JAVA\repository\com\zaxxer\SparseBitSet\1.2\SparseBitSet-1.2.jar;C:\JAVA\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;C:\JAVA\repository\com\baomidou\mybatis-plus-boot-starter\3.3.0\mybatis-plus-boot-starter-3.3.0.jar;C:\JAVA\repository\com\baomidou\mybatis-plus\3.3.0\mybatis-plus-3.3.0.jar;C:\JAVA\repository\com\baomidou\mybatis-plus-extension\3.3.0\mybatis-plus-extension-3.3.0.jar;C:\JAVA\repository\com\baomidou\mybatis-plus-core\3.3.0\mybatis-plus-core-3.3.0.jar;C:\JAVA\repository\com\baomidou\mybatis-plus-annotation\3.3.0\mybatis-plus-annotation-3.3.0.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-starter-jdbc\2.7.13\spring-boot-starter-jdbc-2.7.13.jar;C:\JAVA\repository\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;C:\JAVA\repository\org\springframework\spring-jdbc\5.3.28\spring-jdbc-5.3.28.jar;C:\JAVA\repository\org\projectlombok\lombok\1.18.28\lombok-1.18.28.jar;C:\JAVA\repository\org\apache\httpcomponents\httpmime\4.5.14\httpmime-4.5.14.jar;C:\JAVA\repository\cn\hutool\hutool-all\5.3.4\hutool-all-5.3.4.jar;C:\JAVA\repository\com\drewnoakes\metadata-extractor\2.15.0\metadata-extractor-2.15.0.jar;C:\JAVA\repository\com\adobe\xmp\xmpcore\6.0.6\xmpcore-6.0.6.jar;C:\JAVA\repository\com\belerweb\pinyin4j\2.5.0\pinyin4j-2.5.0.jar;C:\JAVA\repository\commons-beanutils\commons-beanutils\1.9.4\commons-beanutils-1.9.4.jar;C:\JAVA\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\JAVA\repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;C:\JAVA\repository\org\locationtech\proj4j\proj4j\1.3.0\proj4j-1.3.0.jar;C:\JAVA\repository\org\locationtech\proj4j\proj4j-epsg\1.3.0\proj4j-epsg-1.3.0.jar;C:\JAVA\repository\org\jsoup\jsoup\1.12.1\jsoup-1.12.1.jar;C:\JAVA\repository\org\freemarker\freemarker\2.3.32\freemarker-2.3.32.jar;C:\JAVA\repository\org\springframework\cloud\spring-cloud-openfeign-core\3.1.8\spring-cloud-openfeign-core-3.1.8.jar;C:\JAVA\repository\org\springframework\boot\spring-boot-starter-aop\2.7.13\spring-boot-starter-aop-2.7.13.jar;C:\JAVA\repository\org\aspectj\aspectjweaver\1.9.7\aspectjweaver-1.9.7.jar;C:\JAVA\repository\io\github\openfeign\form\feign-form-spring\3.8.0\feign-form-spring-3.8.0.jar;C:\JAVA\repository\io\github\openfeign\form\feign-form\3.8.0\feign-form-3.8.0.jar;C:\JAVA\repository\commons-fileupload\commons-fileupload\1.5\commons-fileupload-1.5.jar;E:\前后端代码\shigong-new_20250810 (2)\shigong-new - 副本\ruoyi-common\ruoyi-common-redis\target\classes;C:\JAVA\repository\org\springframework\boot\spring-boot-starter-data-redis\2.7.13\spring-boot-starter-data-redis-2.7.13.jar;C:\JAVA\repository\org\springframework\data\spring-data-redis\2.7.13\spring-data-redis-2.7.13.jar;C:\JAVA\repository\org\springframework\data\spring-data-keyvalue\2.7.13\spring-data-keyvalue-2.7.13.jar;C:\JAVA\repository\org\springframework\data\spring-data-commons\2.7.13\spring-data-commons-2.7.13.jar;C:\JAVA\repository\org\springframework\spring-tx\5.3.28\spring-tx-5.3.28.jar;C:\JAVA\repository\org\springframework\spring-oxm\5.3.28\spring-oxm-5.3.28.jar;C:\JAVA\repository\redis\clients\jedis\3.8.0\jedis-3.8.0.jar;C:\JAVA\repository\org\apache\commons\commons-pool2\2.11.1\commons-pool2-2.11.1.jar;C:\JAVA\repository\com\mysql\mysql-connector-j\8.0.33\mysql-connector-j-8.0.33.jar;C:\JAVA\repository\com\google\guava\guava\30.1.1-jre\guava-30.1.1-jre.jar;C:\JAVA\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;C:\JAVA\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\JAVA\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\JAVA\repository\org\checkerframework\checker-qual\3.8.0\checker-qual-3.8.0.jar;C:\JAVA\repository\com\google\errorprone\error_prone_annotations\2.5.1\error_prone_annotations-2.5.1.jar;C:\JAVA\repository\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;C:\JAVA\repository\org\springframework\cloud\spring-cloud-starter-bootstrap\3.1.7\spring-cloud-starter-bootstrap-3.1.7.jar;C:\JAVA\repository\org\springframework\cloud\spring-cloud-starter\3.1.7\spring-cloud-starter-3.1.7.jar;C:\JAVA\repository\org\springframework\security\spring-security-rsa\1.0.11.RELEASE\spring-security-rsa-1.0.11.RELEASE.jar;C:\JAVA\repository\org\bouncycastle\bcpkix-jdk15on\1.69\bcpkix-jdk15on-1.69.jar;C:\JAVA\repository\org\bouncycastle\bcprov-jdk15on\1.69\bcprov-jdk15on-1.69.jar;C:\JAVA\repository\org\bouncycastle\bcutil-jdk15on\1.69\bcutil-jdk15on-1.69.jar" com.ruoyi.auth.RuoYiAuthApplication 14:26:55.068 [main] INFO c.a.n.c.e.SearchableProperties - [sortPropertySourceDefaultOrder,197] - properties search order:PROPERTIES->JVM->ENV->DEFAULT_SETTING 14:26:55.094 [background-preinit] DEBUG org.jboss.logging - [logProvider,152] - Logging Provider: org.jboss.logging.Log4j2LoggerProvider 14:26:55.094 [background-preinit] INFO o.h.v.i.util.Version - [<clinit>,21] - HV000001: Hibernate Validator 6.2.5.Final 14:26:55.099 [background-preinit] DEBUG o.h.v.i.x.c.ValidationXmlParser - [getValidationXmlInputStream,120] - Trying to load META-INF/validation.xml for XML based Validator configuration. 14:26:55.100 [background-preinit] DEBUG o.h.v.i.x.c.ResourceLoaderHelper - [getResettableInputStreamForPath,60] - Trying to load META-INF/validation.xml via TCCL 14:26:55.101 [background-preinit] DEBUG o.h.v.i.x.c.ResourceLoaderHelper - [getResettableInputStreamForPath,66] - Trying to load META-INF/validation.xml via Hibernate Validator&#39;s class loader 14:26:55.101 [background-preinit] DEBUG o.h.v.i.x.c.ValidationXmlParser - [getValidationXmlInputStream,127] - No META-INF/validation.xml found. Using annotation based configuration only. 14:26:55.103 [background-preinit] DEBUG o.h.v.i.e.r.TraversableResolvers - [getDefault,60] - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable. 14:26:55.116 [background-preinit] DEBUG o.h.v.m.ResourceBundleMessageInterpolator - [buildExpressionFactory,172] - Loaded expression factory via original TCCL 14:26:55.217 [background-preinit] DEBUG o.h.v.i.e.ValidatorFactoryConfigurationHelper - [determinePropertyNodeNameProvider,345] - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider. 14:26:55.220 [background-preinit] DEBUG o.h.v.i.e.ValidatorFactoryConfigurationHelper - [logValidatorFactoryScopedConfiguration,420] - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator. 14:26:55.220 [background-preinit] DEBUG o.h.v.i.e.ValidatorFactoryConfigurationHelper - [logValidatorFactoryScopedConfiguration,421] - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver. 14:26:55.220 [background-preinit] DEBUG o.h.v.i.e.ValidatorFactoryConfigurationHelper - [logValidatorFactoryScopedConfiguration,422] - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider. 14:26:55.221 [background-preinit] DEBUG o.h.v.i.e.ValidatorFactoryConfigurationHelper - [logValidatorFactoryScopedConfiguration,423] - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider. 14:26:55.221 [background-preinit] DEBUG o.h.v.i.e.ValidatorFactoryConfigurationHelper - [logValidatorFactoryScopedConfiguration,424] - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory. 14:26:55.282 [main] INFO c.a.n.p.a.s.c.ClientAuthPluginManager - [init,56] - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. 14:26:55.282 [main] INFO c.a.n.p.a.s.c.ClientAuthPluginManager - [init,56] - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. . ____ _ __ _ _ /\\ / ___&#39;_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | &#39;_ | &#39;_| | &#39;_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) &#39; |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.13) 14:27:05.056 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[project-public.yaml] & group[DEV] 14:27:05.395 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[project-mysql.yaml] & group[DEV] 14:27:05.723 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[ruoyi-auth] & group[DEV] 14:27:06.055 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[ruoyi-auth.yaml] & group[DEV] 14:27:06.062 [main] INFO c.r.a.RuoYiAuthApplication - [logStartupProfileInfo,631] - No active profile set, falling back to 1 default profile: "default" 14:27:06.739 [main] DEBUG o.a.i.l.LogFactory - [setImplementation,109] - Logging initialized using &#39;class org.apache.ibatis.logging.slf4j.Slf4jImpl&#39; adapter. 14:27:06.740 [main] DEBUG o.m.s.m.ClassPathMapperScanner - [scanCandidateComponents,435] - Identified candidate component class: file [E:\前后端代码\shigong-new_20250810 (2)\shigong-new - 副本\ruoyi-auth\target\classes\com\ruoyi\auth\dao\SysBlackIpDao.class] 14:27:06.740 [main] DEBUG o.m.s.m.ClassPathMapperScanner - [debug,49] - Creating MapperFactoryBean with name &#39;sysBlackIpDao&#39; and &#39;com.ruoyi.auth.dao.SysBlackIpDao&#39; mapperInterface 14:27:06.742 [main] DEBUG o.m.s.m.ClassPathMapperScanner - [debug,49] - Enabling autowire by type for MapperFactoryBean with name &#39;sysBlackIpDao&#39;. 14:27:07.101 [main] INFO o.a.c.h.Http11NioProtocol - [log,173] - Initializing ProtocolHandler ["http-nio-8080"] 14:27:07.102 [main] INFO o.a.c.c.StandardService - [log,173] - Starting service [Tomcat] 14:27:07.102 [main] INFO o.a.c.c.StandardEngine - [log,173] - Starting Servlet engine: [Apache Tomcat/9.0.76] 14:27:07.249 [main] INFO o.a.c.c.C.[.[.[/] - [log,173] - Initializing Spring embedded WebApplicationContext 14:27:07.556 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - [refresh,591] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name &#39;tokenController&#39;: Unsatisfied dependency expressed through field &#39;sysLoginService&#39;; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name &#39;sysLoginService&#39;: Unsatisfied dependency expressed through field &#39;sysBlackIpDao&#39;; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name &#39;sysBlackIpDao&#39; defined in file [E:\前后端代码\shigong-new_20250810 (2)\shigong-new - 副本\ruoyi-auth\target\classes\com\ruoyi\auth\dao\SysBlackIpDao.class]: Unsatisfied dependency expressed through bean property &#39;sqlSessionFactory&#39;; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name &#39;sqlSessionFactory&#39; defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method &#39;sqlSessionFactory&#39; parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;dataSource&#39; defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method &#39;dataSource&#39; threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class 14:27:07.559 [main] INFO o.a.c.c.StandardService - [log,173] - Stopping service [Tomcat] 14:27:07.579 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter - [report,40] - *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: &#39;url&#39; attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active). 14:27:07.580 [Thread-9] WARN c.a.n.c.n.NotifyCenter - [shutdown,136] - [NotifyCenter] Start destroying Publisher 14:27:07.580 [Thread-3] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,102] - [HttpClientBeanHolder] Start destroying common HttpClient 14:27:07.580 [Thread-9] WARN c.a.n.c.n.NotifyCenter - [shutdown,153] - [NotifyCenter] Destruction of the end 14:27:07.581 [Thread-3] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,111] - [HttpClientBeanHolder] Destruction of the end 进程已结束,退出代码为 1 解析一下生成结果
08-21
------------------------------------- Translated Report (Full Report Below) ------------------------------------- Process: QuickRecorder [21350] Path: /Applications/QuickRecorder.app/Contents/MacOS/QuickRecorder Identifier: com.lihaoyun6.QuickRecorder Version: 1.6.9 (169) Code Type: X86-64 (Native) Parent Process: launchd [1] User ID: 501 Date/Time: 2025-07-31 19:42:25.7909 +0800 OS Version: macOS 15.5 (24F74) Report Version: 12 Bridge OS Version: 9.5 (22P5072) Anonymous UUID: 7C3BF07D-DBC4-0AFA-605A-6747857472B3 Sleep/Wake UUID: CCC594FE-9BDD-4088-AF5D-DE87EE98EEF2 Time Awake Since Boot: 300000 seconds Time Since Wake: 6519 seconds System Integrity Protection: enabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_INSTRUCTION (SIGILL) Exception Codes: 0x0000000000000001, 0x0000000000000000 Termination Reason: Namespace SIGNAL, Code 4 Illegal instruction: 4 Terminating Process: exc handler [21350] Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 QuickRecorder 0x10c265e88 AECAudioStream.stopAudioUnit() + 520 1 QuickRecorder 0x10c191198 static SCContext.stopRecording() + 1336 2 QuickRecorder 0x10c1fc9eb @objc AppDelegate.applicationWillTerminate(_:) + 91 3 CoreFoundation 0x7ff809540cec __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 137 4 CoreFoundation 0x7ff8095cc4a2 ___CFXRegistrationPost_block_invoke + 88 5 CoreFoundation 0x7ff8095cc3f7 _CFXRegistrationPost + 515 6 CoreFoundation 0x7ff80951112b _CFXNotificationPost + 763 7 Foundation 0x7ff80a63a0fd -[NSNotificationCenter postNotificationName:object:userInfo:] + 82 8 AppKit 0x7ff80d20d475 -[NSApplication terminate:] + 1995 9 AppKit 0x7ff80d36a824 -[NSApplication _terminateFromSender:askIfShouldTerminate:saveWindows:] + 129 10 AppKit 0x7ff80d36a71f __52-[NSApplication(NSAppleEventHandling) _handleAEQuit]_block_invoke + 44 11 AppKit 0x7ff80d5b91db ___NSMainRunLoopPerformBlockInModes_block_invoke + 25 12 CoreFoundation 0x7ff80954b837 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12 13 CoreFoundation 0x7ff80954b768 __CFRunLoopDoBlocks + 401 14 CoreFoundation 0x7ff80954a5b5 __CFRunLoopRun + 956 15 CoreFoundation 0x7ff809549bc2 CFRunLoopRunSpecific + 536 16 HIToolbox 0x7ff81502a0d4 RunCurrentEventLoopInMode + 281 17 HIToolbox 0x7ff81502ce60 ReceiveNextEventCommon + 188 18 HIToolbox 0x7ff8151b619a _BlockUntilNextEventMatchingListInModeWithFilter + 63 19 AppKit 0x7ff80cfb0e2d _DPSNextEvent + 912 20 AppKit 0x7ff80da3ed27 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1263 21 AppKit 0x7ff80cfa1f19 -[NSApplication run] + 610 22 AppKit 0x7ff80cf75085 NSApplicationMain + 803 23 SwiftUI 0x7ff9192f4fb1 0x7ff9192bc000 + 233393 24 SwiftUI 0x7ff9196482e8 0x7ff9192bc000 + 3719912 25 SwiftUI 0x7ff9198df1ab 0x7ff9192bc000 + 6435243 26 QuickRecorder 0x10c201336 main + 54 27 dyld 0x7ff8090bd530 start + 3056 Thread 1:: caulk.messenger.shared:17 0 libsystem_kernel.dylib 0x7ff809420ac6 semaphore_wait_trap + 10 1 caulk 0x7ff814b45a42 caulk::semaphore::timed_wait(double) + 158 2 caulk 0x7ff814b45964 caulk::concurrent::details::worker_thread::run() + 30 3 caulk 0x7ff814b456a8 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 41 4 libsystem_pthread.dylib 0x7ff809462df1 _pthread_start + 99 5 libsystem_pthread.dylib 0x7ff80945e857 thread_start + 15 Thread 2:: caulk.messenger.shared:high 0 libsystem_kernel.dylib 0x7ff809420ac6 semaphore_wait_trap + 10 1 caulk 0x7ff814b45a42 caulk::semaphore::timed_wait(double) + 158 2 caulk 0x7ff814b45964 caulk::concurrent::details::worker_thread::run() + 30 3 caulk 0x7ff814b456a8 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 41 4 libsystem_pthread.dylib 0x7ff809462df1 _pthread_start + 99 5 libsystem_pthread.dylib 0x7ff80945e857 thread_start + 15 Thread 3:: com.apple.NSEventThread 0 libsystem_kernel.dylib 0x7ff809420b4a mach_msg2_trap + 10 1 libsystem_kernel.dylib 0x7ff80942f704 mach_msg2_internal + 83 2 libsystem_kernel.dylib 0x7ff809427bc3 mach_msg_overwrite + 574 3 libsystem_kernel.dylib 0x7ff809420e3b mach_msg + 19 4 SkyLight 0x7ff80f0da308 CGSSnarfAndDispatchDatagrams + 165 5 SkyLight 0x7ff80f4a7309 SLSGetNextEventRecordInternal + 298 6 SkyLight 0x7ff80f23df43 SLEventCreateNextEvent + 11 7 HIToolbox 0x7ff8150256fe PullEventsFromWindowServerOnConnection(unsigned int, unsigned char, __CFMachPortBoost*) + 45 8 HIToolbox 0x7ff815022dac MessageHandler(__CFMachPort*, void*, long, void*) + 48 9 CoreFoundation 0x7ff8095768e9 __CFMachPortPerform + 244 10 CoreFoundation 0x7ff80954c128 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41 11 CoreFoundation 0x7ff80954c067 __CFRunLoopDoSource1 + 543 12 CoreFoundation 0x7ff80954acb5 __CFRunLoopRun + 2748 13 CoreFoundation 0x7ff809549bc2 CFRunLoopRunSpecific + 536 14 AppKit 0x7ff80d105a2f _NSEventThread + 127 15 libsystem_pthread.dylib 0x7ff809462df1 _pthread_start + 99 16 libsystem_pthread.dylib 0x7ff80945e857 thread_start + 15 Thread 4:: caulk::deferred_logger 0 libsystem_kernel.dylib 0x7ff809420ac6 semaphore_wait_trap + 10 1 caulk 0x7ff814b45a42 caulk::semaphore::timed_wait(double) + 158 2 caulk 0x7ff814b45964 caulk::concurrent::details::worker_thread::run() + 30 3 caulk 0x7ff814b456a8 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 41 4 libsystem_pthread.dylib 0x7ff809462df1 _pthread_start + 99 5 libsystem_pthread.dylib 0x7ff80945e857 thread_start + 15 Thread 5: 0 libsystem_pthread.dylib 0x7ff80945e834 start_wqthread + 0 Thread 6: 0 libsystem_pthread.dylib 0x7ff80945e834 start_wqthread + 0 Thread 7: 0 libsystem_pthread.dylib 0x7ff80945e834 start_wqthread + 0 Thread 8: 0 libsystem_pthread.dylib 0x7ff80945e834 start_wqthread + 0 Thread 9: 0 libsystem_pthread.dylib 0x7ff80945e834 start_wqthread + 0 Thread 10:: com.apple.audio.toolbox.AUScheduledParameterRefresher 0 libsystem_kernel.dylib 0x7ff809420ac6 semaphore_wait_trap + 10 1 caulk 0x7ff814b45a42 caulk::semaphore::timed_wait(double) + 158 2 caulk 0x7ff814b45964 caulk::concurrent::details::worker_thread::run() + 30 3 caulk 0x7ff814b456a8 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 41 4 libsystem_pthread.dylib 0x7ff809462df1 _pthread_start + 99 5 libsystem_pthread.dylib 0x7ff80945e857 thread_start + 15 Thread 0 crashed with X86 Thread State (64-bit): rax: 0x0000000000000000 rbx: 0x0000000000000001 rcx: 0x0000600000deeb38 rdx: 0x000000010c265ca6 rdi: 0x0000000000000000 rsi: 0x00007ff7b3dcbe40 rbp: 0x00007ff7b3dcbe90 rsp: 0x00007ff7b3dcbe40 r8: 0x0000000000000000 r9: 0x0000000000000001 r10: 0x00007ff84ae65e30 r11: 0x00007ff80907b979 r12: 0x0000000000000000 r13: 0x0000600000deeb20 r14: 0x0000000000000000 r15: 0x0000600000deeb38 rip: 0x000000010c265e88 rfl: 0x0000000000010246 cr2: 0x0000000000000000 Logical CPU: 2 Error Code: 0x00000000 Trap Number: 6 Thread 0 instruction stream: c0 41 b9 02 00 00 00 e8-ee 44 00 00 4c 89 ff 48 .A.......D..L..H c7 c6 ff ff ff ff 48 c7-c2 ff ff ff ff e8 de 47 ......H........G 00 00 4c 89 f7 ff 15 95-a8 05 00 e8 a8 0b 00 00 ..L............. 48 8d 3d 19 2f 06 00 48-89 c6 31 d2 31 c9 e8 49 H.=./..H..1.1..I 46 00 00 49 89 c6 89 1a-49 89 c4 e8 10 48 00 00 F..I....I....H.. 4d 89 f4 48 83 c4 30 5b-41 5d 41 5e 41 5f 5d c3 M..H..0[A]A^A_]. [0f]0b 0f 0b 0f 0b 66 90-55 48 89 e5 41 57 41 56 ......f.UH..AWAV <== 41 55 53 48 83 ec 30 4d-89 e6 48 8b 05 5f a7 05 AUSH..0M..H.._.. 00 48 8b 00 48 89 45 d8-40 80 e7 01 40 88 7d b8 .H..H.E.@...@.}. 89 75 bc 49 8d 7d 10 48-8d 75 c0 31 d2 31 c9 e8 .u.I.}.H.u.1.1.. 18 46 00 00 49 8b 7d 10-48 85 ff 0f 84 ed 00 00 .F..I.}.H....... 00 4c 8d 45 b8 be 3c 08-00 00 31 d2 31 c9 41 b9 .L.E..<...1.1.A. Binary Images: 0x10c131000 - 0x10c2befff com.lihaoyun6.QuickRecorder (1.6.9) <ba618c03-821d-3b9f-8a8f-1ef506b204f1> /Applications/QuickRecorder.app/Contents/MacOS/QuickRecorder 0x10c761000 - 0x10c7a4fff org.sparkle-project.Sparkle (2.6.0) <020e997b-9464-39d5-81bf-2767410fb3a8> /Applications/QuickRecorder.app/Contents/Frameworks/Sparkle.framework/Versions/B/Sparkle 0x110291000 - 0x11029dfff libobjc-trampolines.dylib (*) <395104e6-4e58-31b0-8c64-c56f325ce788> /usr/lib/libobjc-trampolines.dylib 0x118d86000 - 0x118dc8fff com.apple.cmio.DAL.VDC-4 (810.0) <fb6a30e6-4dd9-327d-902b-231e1775a0d5> /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/VDC.plugin/Contents/MacOS/VDC 0x118d1f000 - 0x118d42fff com.apple.cmio.DAL.iOSScreenCapture (1000.0) <afdab9ae-5bbe-3ebd-b1a7-4e7229877a1c> /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/iOSScreenCapture.plugin/Contents/MacOS/iOSScreenCapture 0x1307d0000 - 0x1311a2fff com.apple.audio.codecs.Components (7.0) <d9768fd2-eb2f-3c9c-b094-0bcbf92cc765> /System/Library/Components/AudioCodecs.component/Contents/MacOS/AudioCodecs 0x10f063000 - 0x10f1a8fff com.apple.audio.units.Components (1.14) <b7d2daa6-a2bf-3019-b6bc-6bf72550f719> /System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio 0x12ea61000 - 0x12ebb5fff com.apple.CMIOBaseUnits (1000.0) <dab238cc-df97-39f5-81aa-678006e2217b> /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/BaseUnits/CMIOBaseUnits.bundle/Contents/MacOS/CMIOBaseUnits 0x12e90d000 - 0x12e9c1fff com.apple.CMIOUnits (1000.0) <e0f38971-a56e-36e1-b383-20c72563c717> /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/CMIOUnits.bundle/Contents/MacOS/CMIOUnits 0x7ff8094d0000 - 0x7ff809984ff2 com.apple.CoreFoundation (6.9) <2f3a4185-6038-37d0-a02b-ec620bcd977b> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x7ff80a631000 - 0x7ff80b4228b1 com.apple.Foundation (6.9) <3e72de1d-c81a-3c8b-9c06-5b1e3186de47> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 0x7ff80cf71000 - 0x7ff80e4c3336 com.apple.AppKit (6.9) <c26f6f9e-8230-3c1f-8c48-02d9de58fbc8> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit 0x7ff814f82000 - 0x7ff8152636ed com.apple.HIToolbox (2.1.1) <1ed7a7b9-e12f-348a-ac39-834f923795b6> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox 0x7ff9192bc000 - 0x7ff91a5109a9 com.apple.SwiftUI (6.5.4) <83eb36e0-aeb7-36dd-a912-42fbb13eb403> /System/Library/Frameworks/SwiftUI.framework/Versions/A/SwiftUI 0x7ff8090b7000 - 0x7ff809151527 dyld (*) <3771ea6a-0fe5-3b63-961d-c09e01d5e680> /usr/lib/dyld 0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ??? 0x7ff809071000 - 0x7ff8090b605b libobjc.A.dylib (*) <de35b5ee-5872-3e5a-a1f0-eb18c5b0434c> /usr/lib/libobjc.A.dylib 0x7ff809420000 - 0x7ff80945cb4f libsystem_kernel.dylib (*) <dab10aa4-8afa-3d02-9cde-6023554ac858> /usr/lib/system/libsystem_kernel.dylib 0x7ff814b44000 - 0x7ff814b67d07 com.apple.audio.caulk (1.0) <22877e7f-c603-37d7-8c72-9d864ee6e99d> /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk 0x7ff80945d000 - 0x7ff809468dcf libsystem_pthread.dylib (*) <a6d1f05a-0743-31b7-9fe2-268f06ccd51a> /usr/lib/system/libsystem_pthread.dylib 0x7ff80f0d1000 - 0x7ff80f59dfc7 com.apple.SkyLight (1.600.0) <5614b329-06ef-3851-9d89-9ff5e56c9b74> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 0 thread_create: 0 thread_set_state: 0 VM Region Summary: ReadOnly portion of Libraries: Total=1.3G resident=0K(0%) swapped_out_or_unallocated=1.3G(100%) Writable regions: Total=667.8M written=460K(0%) resident=0K(0%) swapped_out=460K(0%) unallocated=667.4M(100%) VIRTUAL REGION REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= Accelerate framework 128K 1 Activity Tracing 256K 1 AttributeGraph Data 1024K 1 CG image 152K 17 ColorSync 108K 11 CoreAnimation 7736K 80 CoreGraphics 12K 2 CoreImage 6892K 1 CoreUI image data 3660K 29 Foundation 36K 2 Image IO 12K 2 Kernel Alloc Once 8K 1 MALLOC 641.5M 80 MALLOC guard page 64K 16 STACK GUARD 56.0M 11 Stack 13.1M 11 VM_ALLOCATE 3344K 23 __CTF 824 1 __DATA 35.2M 958 __DATA_CONST 103.0M 974 __DATA_DIRTY 2578K 338 __FONT_DATA 2352 1 __INFO_FILTER 8 1 __LINKEDIT 167.2M 11 __OBJC_RO 61.3M 1 __OBJC_RW 2395K 2 __TEXT 1.1G 993 __TPRO_CONST 16 2 mapped file 621.5M 75 shared memory 2328K 19 =========== ======= ======= TOTAL 2.8G 3665 ----------- Full Report ----------- {"app_name":"QuickRecorder","timestamp":"2025-07-31 19:42:44.00 +0800","app_version":"1.6.9","slice_uuid":"ba618c03-821d-3b9f-8a8f-1ef506b204f1","build_version":"169","platform":1,"bundleID":"com.lihaoyun6.QuickRecorder","share_with_app_devs":1,"is_first_party":0,"bug_type":"309","os_version":"macOS 15.5 (24F74)","roots_installed":0,"name":"QuickRecorder","incident_id":"107B28B2-50D3-43A3-B798-247E4C8B9E3B"} { "uptime" : 300000, "procRole" : "Foreground", "version" : 2, "userID" : 501, "deployVersion" : 210, "modelCode" : "MacBookAir9,1", "coalitionID" : 24489, "osVersion" : { "train" : "macOS 15.5", "build" : "24F74", "releaseType" : "User" }, "captureTime" : "2025-07-31 19:42:25.7909 +0800", "codeSigningMonitor" : 0, "incident" : "107B28B2-50D3-43A3-B798-247E4C8B9E3B", "pid" : 21350, "cpuType" : "X86-64", "roots_installed" : 0, "bug_type" : "309", "procLaunch" : "2025-07-31 19:06:53.7783 +0800", "procStartAbsTime" : 307849619625484, "procExitAbsTime" : 309982233751534, "procName" : "QuickRecorder", "procPath" : "\/Applications\/QuickRecorder.app\/Contents\/MacOS\/QuickRecorder", "bundleInfo" : {"CFBundleShortVersionString":"1.6.9","CFBundleVersion":"169","CFBundleIdentifier":"com.lihaoyun6.QuickRecorder"}, "storeInfo" : {"deviceIdentifierForVendor":"814A539B-03F8-5A93-B9BD-13C4811EAAEA","thirdParty":true}, "parentProc" : "launchd", "parentPid" : 1, "coalitionName" : "com.lihaoyun6.QuickRecorder", "crashReporterKey" : "7C3BF07D-DBC4-0AFA-605A-6747857472B3", "appleIntelligenceStatus" : {"state":"unavailable","reasons":["deviceNotCapable"]}, "codeSigningID" : "com.lihaoyun6.QuickRecorder", "codeSigningTeamID" : "L4T783637F", "codeSigningFlags" : 1644245781, "codeSigningValidationCategory" : 3, "codeSigningTrustLevel" : 4294967295, "codeSigningAuxiliaryInfo" : 0, "bootSessionUUID" : "DDF0E849-EA1E-478C-BA4C-D913D34C31FA", "wakeTime" : 6519, "bridgeVersion" : {"build":"22P5072","train":"9.5"}, "sleepWakeUUID" : "CCC594FE-9BDD-4088-AF5D-DE87EE98EEF2", "sip" : "enabled", "exception" : {"codes":"0x0000000000000001, 0x0000000000000000","rawCodes":[1,0],"type":"EXC_BAD_INSTRUCTION","signal":"SIGILL"}, "termination" : {"flags":0,"code":4,"namespace":"SIGNAL","indicator":"Illegal instruction: 4","byProc":"exc handler","byPid":21350}, "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0}, "faultingThread" : 0, "threads" : [{"triggered":true,"id":2393988,"instructionState":{"instructionStream":{"bytes":[192,65,185,2,0,0,0,232,238,68,0,0,76,137,255,72,199,198,255,255,255,255,72,199,194,255,255,255,255,232,222,71,0,0,76,137,247,255,21,149,168,5,0,232,168,11,0,0,72,141,61,25,47,6,0,72,137,198,49,210,49,201,232,73,70,0,0,73,137,198,137,26,73,137,196,232,16,72,0,0,77,137,244,72,131,196,48,91,65,93,65,94,65,95,93,195,15,11,15,11,15,11,102,144,85,72,137,229,65,87,65,86,65,85,83,72,131,236,48,77,137,230,72,139,5,95,167,5,0,72,139,0,72,137,69,216,64,128,231,1,64,136,125,184,137,117,188,73,141,125,16,72,141,117,192,49,210,49,201,232,24,70,0,0,73,139,125,16,72,133,255,15,132,237,0,0,0,76,141,69,184,190,60,8,0,0,49,210,49,201,65,185],"offset":96}},"threadState":{"r13":{"value":105553130875680},"rax":{"value":0},"rflags":{"value":66118},"cpu":{"value":2},"r14":{"value":0},"rsi":{"value":140701851237952},"r8":{"value":0},"cr2":{"value":0},"rdx":{"value":4498807974,"symbolLocation":38,"symbol":"AECAudioStream.stopAudioUnit()"},"r10":{"value":140704385228336,"symbolLocation":0,"symbol":"OBJC_CLASS_$_NSObject"},"r9":{"value":1},"r15":{"value":105553130875704},"rbx":{"value":1},"trap":{"value":6},"err":{"value":0},"r11":{"value":140703280118137,"symbolLocation":0,"symbol":"-[NSObject init]"},"rip":{"value":4498808456,"matchesCrashFrame":1},"rbp":{"value":140701851238032},"rsp":{"value":140701851237952},"r12":{"value":0},"rcx":{"value":105553130875704},"flavor":"x86_THREAD_STATE","rdi":{"value":0}},"queue":"com.apple.main-thread","frames":[{"imageOffset":1265288,"symbol":"AECAudioStream.stopAudioUnit()","symbolLocation":520,"imageIndex":0},{"imageOffset":393624,"symbol":"static SCContext.stopRecording()","symbolLocation":1336,"imageIndex":0},{"imageOffset":834027,"symbol":"@objc AppDelegate.applicationWillTerminate(_:)","symbolLocation":91,"imageIndex":0},{"imageOffset":462060,"symbol":"__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__","symbolLocation":137,"imageIndex":9},{"imageOffset":1033378,"symbol":"___CFXRegistrationPost_block_invoke","symbolLocation":88,"imageIndex":9},{"imageOffset":1033207,"symbol":"_CFXRegistrationPost","symbolLocation":515,"imageIndex":9},{"imageOffset":266539,"symbol":"_CFXNotificationPost","symbolLocation":763,"imageIndex":9},{"imageOffset":37117,"symbol":"-[NSNotificationCenter postNotificationName:object:userInfo:]","symbolLocation":82,"imageIndex":10},{"imageOffset":2737269,"symbol":"-[NSApplication terminate:]","symbolLocation":1995,"imageIndex":11},{"imageOffset":4167716,"symbol":"-[NSApplication _terminateFromSender:askIfShouldTerminate:saveWindows:]","symbolLocation":129,"imageIndex":11},{"imageOffset":4167455,"symbol":"__52-[NSApplication(NSAppleEventHandling) _handleAEQuit]_block_invoke","symbolLocation":44,"imageIndex":11},{"imageOffset":6586843,"symbol":"___NSMainRunLoopPerformBlockInModes_block_invoke","symbolLocation":25,"imageIndex":11},{"imageOffset":505911,"symbol":"__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__","symbolLocation":12,"imageIndex":9},{"imageOffset":505704,"symbol":"__CFRunLoopDoBlocks","symbolLocation":401,"imageIndex":9},{"imageOffset":501173,"symbol":"__CFRunLoopRun","symbolLocation":956,"imageIndex":9},{"imageOffset":498626,"symbol":"CFRunLoopRunSpecific","symbolLocation":536,"imageIndex":9},{"imageOffset":688340,"symbol":"RunCurrentEventLoopInMode","symbolLocation":281,"imageIndex":12},{"imageOffset":700000,"symbol":"ReceiveNextEventCommon","symbolLocation":188,"imageIndex":12},{"imageOffset":2310554,"symbol":"_BlockUntilNextEventMatchingListInModeWithFilter","symbolLocation":63,"imageIndex":12},{"imageOffset":261677,"symbol":"_DPSNextEvent","symbolLocation":912,"imageIndex":11},{"imageOffset":11328807,"symbol":"-[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]","symbolLocation":1263,"imageIndex":11},{"imageOffset":200473,"symbol":"-[NSApplication run]","symbolLocation":610,"imageIndex":11},{"imageOffset":16517,"symbol":"NSApplicationMain","symbolLocation":803,"imageIndex":11},{"imageOffset":233393,"imageIndex":13},{"imageOffset":3719912,"imageIndex":13},{"imageOffset":6435243,"imageIndex":13},{"imageOffset":852790,"symbol":"main","symbolLocation":54,"imageIndex":0},{"imageOffset":25904,"symbol":"start","symbolLocation":3056,"imageIndex":14}]},{"id":2394034,"name":"caulk.messenger.shared:17","threadState":{"r13":{"value":0},"rax":{"value":14},"rflags":{"value":515},"cpu":{"value":0},"r14":{"value":105553117211648},"rsi":{"value":105553178804480},"r8":{"value":105553178804480},"cr2":{"value":0},"rdx":{"value":10},"r10":{"value":0},"r9":{"value":25},"r15":{"value":0},"rbx":{"value":105553117211393},"trap":{"value":133},"err":{"value":16777252},"r11":{"value":515},"rip":{"value":140703283940038},"rbp":{"value":123145492758384},"rsp":{"value":123145492758344},"r12":{"value":0},"rcx":{"value":123145492758344},"flavor":"x86_THREAD_STATE","rdi":{"value":58375}},"frames":[{"imageOffset":2758,"symbol":"semaphore_wait_trap","symbolLocation":10,"imageIndex":17},{"imageOffset":6722,"symbol":"caulk::semaphore::timed_wait(double)","symbolLocation":158,"imageIndex":18},{"imageOffset":6500,"symbol":"caulk::concurrent::details::worker_thread::run()","symbolLocation":30,"imageIndex":18},{"imageOffset":5800,"symbol":"void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*)","symbolLocation":41,"imageIndex":18},{"imageOffset":24049,"symbol":"_pthread_start","symbolLocation":99,"imageIndex":19},{"imageOffset":6231,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}]},{"id":2394035,"name":"caulk.messenger.shared:high","threadState":{"r13":{"value":0},"rax":{"value":14},"rflags":{"value":515},"cpu":{"value":0},"r14":{"value":105553117212064},"rsi":{"value":50435},"r8":{"value":4294967295},"cr2":{"value":0},"rdx":{"value":50435},"r10":{"value":16},"r9":{"value":0},"r15":{"value":0},"rbx":{"value":105553117211905},"trap":{"value":133},"err":{"value":16777252},"r11":{"value":515},"rip":{"value":140703283940038},"rbp":{"value":123145493294960},"rsp":{"value":123145493294920},"r12":{"value":0},"rcx":{"value":123145493294920},"flavor":"x86_THREAD_STATE","rdi":{"value":50179}},"frames":[{"imageOffset":2758,"symbol":"semaphore_wait_trap","symbolLocation":10,"imageIndex":17},{"imageOffset":6722,"symbol":"caulk::semaphore::timed_wait(double)","symbolLocation":158,"imageIndex":18},{"imageOffset":6500,"symbol":"caulk::concurrent::details::worker_thread::run()","symbolLocation":30,"imageIndex":18},{"imageOffset":5800,"symbol":"void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*)","symbolLocation":41,"imageIndex":18},{"imageOffset":24049,"symbol":"_pthread_start","symbolLocation":99,"imageIndex":19},{"imageOffset":6231,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}]},{"id":2394072,"name":"com.apple.NSEventThread","threadState":{"r13":{"value":17183031299},"rax":{"value":268451845},"rflags":{"value":518},"cpu":{"value":0},"r14":{"value":531128540725248},"rsi":{"value":17183031299},"r8":{"value":125915556216832},"cr2":{"value":0},"rdx":{"value":103079220499},"r10":{"value":531128540741891},"r9":{"value":531128540725248},"r15":{"value":64},"rbx":{"value":123145493823312},"trap":{"value":133},"err":{"value":16777263},"r11":{"value":518},"rip":{"value":140703283940170},"rbp":{"value":123145493822784},"rsp":{"value":123145493822680},"r12":{"value":531128540741891},"rcx":{"value":123145493822680},"flavor":"x86_THREAD_STATE","rdi":{"value":123145493823312}},"frames":[{"imageOffset":2890,"symbol":"mach_msg2_trap","symbolLocation":10,"imageIndex":17},{"imageOffset":63236,"symbol":"mach_msg2_internal","symbolLocation":83,"imageIndex":17},{"imageOffset":31683,"symbol":"mach_msg_overwrite","symbolLocation":574,"imageIndex":17},{"imageOffset":3643,"symbol":"mach_msg","symbolLocation":19,"imageIndex":17},{"imageOffset":37640,"symbol":"CGSSnarfAndDispatchDatagrams","symbolLocation":165,"imageIndex":20},{"imageOffset":4023049,"symbol":"SLSGetNextEventRecordInternal","symbolLocation":298,"imageIndex":20},{"imageOffset":1494851,"symbol":"SLEventCreateNextEvent","symbolLocation":11,"imageIndex":20},{"imageOffset":669438,"symbol":"PullEventsFromWindowServerOnConnection(unsigned int, unsigned char, __CFMachPortBoost*)","symbolLocation":45,"imageIndex":12},{"imageOffset":658860,"symbol":"MessageHandler(__CFMachPort*, void*, long, void*)","symbolLocation":48,"imageIndex":12},{"imageOffset":682217,"symbol":"__CFMachPortPerform","symbolLocation":244,"imageIndex":9},{"imageOffset":508200,"symbol":"__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__","symbolLocation":41,"imageIndex":9},{"imageOffset":508007,"symbol":"__CFRunLoopDoSource1","symbolLocation":543,"imageIndex":9},{"imageOffset":502965,"symbol":"__CFRunLoopRun","symbolLocation":2748,"imageIndex":9},{"imageOffset":498626,"symbol":"CFRunLoopRunSpecific","symbolLocation":536,"imageIndex":9},{"imageOffset":1657391,"symbol":"_NSEventThread","symbolLocation":127,"imageIndex":11},{"imageOffset":24049,"symbol":"_pthread_start","symbolLocation":99,"imageIndex":19},{"imageOffset":6231,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}]},{"id":2432142,"name":"caulk::deferred_logger","threadState":{"r13":{"value":0},"rax":{"value":14},"rflags":{"value":515},"cpu":{"value":0},"r14":{"value":105553119390264},"rsi":{"value":105553149228737},"r8":{"value":105553149228737},"cr2":{"value":0},"rdx":{"value":7},"r10":{"value":1},"r9":{"value":22},"r15":{"value":0},"rbx":{"value":105553119390209},"trap":{"value":133},"err":{"value":16777252},"r11":{"value":515},"rip":{"value":140703283940038},"rbp":{"value":123145495977840},"rsp":{"value":123145495977800},"r12":{"value":0},"rcx":{"value":123145495977800},"flavor":"x86_THREAD_STATE","rdi":{"value":126731}},"frames":[{"imageOffset":2758,"symbol":"semaphore_wait_trap","symbolLocation":10,"imageIndex":17},{"imageOffset":6722,"symbol":"caulk::semaphore::timed_wait(double)","symbolLocation":158,"imageIndex":18},{"imageOffset":6500,"symbol":"caulk::concurrent::details::worker_thread::run()","symbolLocation":30,"imageIndex":18},{"imageOffset":5800,"symbol":"void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*)","symbolLocation":41,"imageIndex":18},{"imageOffset":24049,"symbol":"_pthread_start","symbolLocation":99,"imageIndex":19},{"imageOffset":6231,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}]},{"id":2442878,"frames":[{"imageOffset":6196,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":19}],"threadState":{"r13":{"value":0},"rax":{"value":33554800},"rflags":{"value":512},"cpu":{"value":0},"r14":{"value":1},"rsi":{"value":134487},"r8":{"value":409604},"cr2":{"value":0},"rdx":{"value":123145490624512},"r10":{"value":0},"r9":{"value":18446744073709551615},"r15":{"value":123145491147640},"rbx":{"value":123145491148800},"trap":{"value":133},"err":{"value":33554800},"r11":{"value":582},"rip":{"value":140703284193332},"rbp":{"value":0},"rsp":{"value":123145491148800},"r12":{"value":5193733},"rcx":{"value":0},"flavor":"x86_THREAD_STATE","rdi":{"value":123145491148800}}},{"id":2443052,"frames":[{"imageOffset":6196,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":19}],"threadState":{"r13":{"value":0},"rax":{"value":33554800},"rflags":{"value":512},"cpu":{"value":0},"r14":{"value":1},"rsi":{"value":169391},"r8":{"value":409604},"cr2":{"value":0},"rdx":{"value":123145490087936},"r10":{"value":0},"r9":{"value":18446744073709551615},"r15":{"value":123145490611064},"rbx":{"value":123145490612224},"trap":{"value":133},"err":{"value":33554800},"r11":{"value":582},"rip":{"value":140703284193332},"rbp":{"value":0},"rsp":{"value":123145490612224},"r12":{"value":5193732},"rcx":{"value":0},"flavor":"x86_THREAD_STATE","rdi":{"value":123145490612224}}},{"id":2443301,"frames":[{"imageOffset":6196,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":19}],"threadState":{"r13":{"value":0},"rax":{"value":33554800},"rflags":{"value":512},"cpu":{"value":0},"r14":{"value":0},"rsi":{"value":115515},"r8":{"value":409604},"cr2":{"value":0},"rdx":{"value":123145489551360},"r10":{"value":0},"r9":{"value":18446744073709551615},"r15":{"value":0},"rbx":{"value":123145490075648},"trap":{"value":133},"err":{"value":33554800},"r11":{"value":582},"rip":{"value":140703284193332},"rbp":{"value":0},"rsp":{"value":123145490075648},"r12":{"value":0},"rcx":{"value":0},"flavor":"x86_THREAD_STATE","rdi":{"value":123145490075648}}},{"id":2443302,"frames":[{"imageOffset":6196,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":19}],"threadState":{"r13":{"value":0},"rax":{"value":33554800},"rflags":{"value":512},"cpu":{"value":0},"r14":{"value":1},"rsi":{"value":168199},"r8":{"value":409604},"cr2":{"value":0},"rdx":{"value":123145491161088},"r10":{"value":0},"r9":{"value":18446744073709551615},"r15":{"value":123145491684216},"rbx":{"value":123145491685376},"trap":{"value":133},"err":{"value":33554800},"r11":{"value":582},"rip":{"value":140703284193332},"rbp":{"value":0},"rsp":{"value":123145491685376},"r12":{"value":5128197},"rcx":{"value":0},"flavor":"x86_THREAD_STATE","rdi":{"value":123145491685376}}},{"id":2443303,"frames":[{"imageOffset":6196,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":19}],"threadState":{"r13":{"value":0},"rax":{"value":0},"rflags":{"value":512},"cpu":{"value":0},"r14":{"value":0},"rsi":{"value":0},"r8":{"value":278532},"cr2":{"value":0},"rdx":{"value":123145491697664},"r10":{"value":0},"r9":{"value":18446744073709551615},"r15":{"value":0},"rbx":{"value":0},"trap":{"value":0},"err":{"value":0},"r11":{"value":0},"rip":{"value":140703284193332},"rbp":{"value":0},"rsp":{"value":123145492221952},"r12":{"value":0},"rcx":{"value":0},"flavor":"x86_THREAD_STATE","rdi":{"value":123145492221952}}},{"id":2443450,"name":"com.apple.audio.toolbox.AUScheduledParameterRefresher","threadState":{"r13":{"value":0},"rax":{"value":14},"rflags":{"value":515},"cpu":{"value":0},"r14":{"value":105553119318008},"rsi":{"value":105553165325728},"r8":{"value":105553165325696},"cr2":{"value":0},"rdx":{"value":6},"r10":{"value":0},"r9":{"value":53},"r15":{"value":0},"rbx":{"value":105553119317761},"trap":{"value":133},"err":{"value":16777252},"r11":{"value":515},"rip":{"value":140703283940038},"rbp":{"value":123145494368112},"rsp":{"value":123145494368072},"r12":{"value":0},"rcx":{"value":123145494368072},"flavor":"x86_THREAD_STATE","rdi":{"value":170263}},"frames":[{"imageOffset":2758,"symbol":"semaphore_wait_trap","symbolLocation":10,"imageIndex":17},{"imageOffset":6722,"symbol":"caulk::semaphore::timed_wait(double)","symbolLocation":158,"imageIndex":18},{"imageOffset":6500,"symbol":"caulk::concurrent::details::worker_thread::run()","symbolLocation":30,"imageIndex":18},{"imageOffset":5800,"symbol":"void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*)","symbolLocation":41,"imageIndex":18},{"imageOffset":24049,"symbol":"_pthread_start","symbolLocation":99,"imageIndex":19},{"imageOffset":6231,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}]}], "usedImages" : [ { "source" : "P", "arch" : "x86_64", "base" : 4497543168, "CFBundleShortVersionString" : "1.6.9", "CFBundleIdentifier" : "com.lihaoyun6.QuickRecorder", "size" : 1630208, "uuid" : "ba618c03-821d-3b9f-8a8f-1ef506b204f1", "path" : "\/Applications\/QuickRecorder.app\/Contents\/MacOS\/QuickRecorder", "name" : "QuickRecorder", "CFBundleVersion" : "169" }, { "source" : "P", "arch" : "x86_64", "base" : 4504031232, "CFBundleShortVersionString" : "2.6.0", "CFBundleIdentifier" : "org.sparkle-project.Sparkle", "size" : 278528, "uuid" : "020e997b-9464-39d5-81bf-2767410fb3a8", "path" : "\/Applications\/QuickRecorder.app\/Contents\/Frameworks\/Sparkle.framework\/Versions\/B\/Sparkle", "name" : "Sparkle", "CFBundleVersion" : "2036" }, { "source" : "P", "arch" : "x86_64h", "base" : 4566093824, "size" : 53248, "uuid" : "395104e6-4e58-31b0-8c64-c56f325ce788", "path" : "\/usr\/lib\/libobjc-trampolines.dylib", "name" : "libobjc-trampolines.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 4711800832, "CFBundleShortVersionString" : "810.0", "CFBundleIdentifier" : "com.apple.cmio.DAL.VDC-4", "size" : 274432, "uuid" : "fb6a30e6-4dd9-327d-902b-231e1775a0d5", "path" : "\/System\/Library\/Frameworks\/CoreMediaIO.framework\/Versions\/A\/Resources\/VDC.plugin\/Contents\/MacOS\/VDC", "name" : "VDC", "CFBundleVersion" : "466.80.2" }, { "source" : "P", "arch" : "x86_64", "base" : 4711378944, "CFBundleShortVersionString" : "1000.0", "CFBundleIdentifier" : "com.apple.cmio.DAL.iOSScreenCapture", "size" : 147456, "uuid" : "afdab9ae-5bbe-3ebd-b1a7-4e7229877a1c", "path" : "\/System\/Library\/Frameworks\/CoreMediaIO.framework\/Versions\/A\/Resources\/iOSScreenCapture.plugin\/Contents\/MacOS\/iOSScreenCapture", "name" : "iOSScreenCapture", "CFBundleVersion" : "5590.122.2.0.1" }, { "source" : "P", "arch" : "x86_64h", "base" : 5108465664, "CFBundleShortVersionString" : "7.0", "CFBundleIdentifier" : "com.apple.audio.codecs.Components", "size" : 10301440, "uuid" : "d9768fd2-eb2f-3c9c-b094-0bcbf92cc765", "path" : "\/System\/Library\/Components\/AudioCodecs.component\/Contents\/MacOS\/AudioCodecs", "name" : "AudioCodecs", "CFBundleVersion" : "7.0" }, { "source" : "P", "arch" : "x86_64", "base" : 4547031040, "CFBundleShortVersionString" : "1.14", "CFBundleIdentifier" : "com.apple.audio.units.Components", "size" : 1335296, "uuid" : "b7d2daa6-a2bf-3019-b6bc-6bf72550f719", "path" : "\/System\/Library\/Components\/CoreAudio.component\/Contents\/MacOS\/CoreAudio", "name" : "CoreAudio", "CFBundleVersion" : "1.14" }, { "source" : "P", "arch" : "x86_64", "base" : 5077602304, "CFBundleShortVersionString" : "1000.0", "CFBundleIdentifier" : "com.apple.CMIOBaseUnits", "size" : 1396736, "uuid" : "dab238cc-df97-39f5-81aa-678006e2217b", "path" : "\/System\/Library\/Frameworks\/CoreMediaIO.framework\/Versions\/A\/Resources\/BaseUnits\/CMIOBaseUnits.bundle\/Contents\/MacOS\/CMIOBaseUnits", "name" : "CMIOBaseUnits", "CFBundleVersion" : "5590.122.2.0.1" }, { "source" : "P", "arch" : "x86_64", "base" : 5076209664, "CFBundleShortVersionString" : "1000.0", "CFBundleIdentifier" : "com.apple.CMIOUnits", "size" : 741376, "uuid" : "e0f38971-a56e-36e1-b383-20c72563c717", "path" : "\/System\/Library\/Frameworks\/CoreMediaIO.framework\/Versions\/A\/Resources\/CMIOUnits.bundle\/Contents\/MacOS\/CMIOUnits", "name" : "CMIOUnits", "CFBundleVersion" : "5590.122.2.0.1" }, { "source" : "P", "arch" : "x86_64h", "base" : 140703284658176, "CFBundleShortVersionString" : "6.9", "CFBundleIdentifier" : "com.apple.CoreFoundation", "size" : 4935667, "uuid" : "2f3a4185-6038-37d0-a02b-ec620bcd977b", "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/Versions\/A\/CoreFoundation", "name" : "CoreFoundation", "CFBundleVersion" : "3502.1.401" }, { "source" : "P", "arch" : "x86_64", "base" : 140703302881280, "CFBundleShortVersionString" : "6.9", "CFBundleIdentifier" : "com.apple.Foundation", "size" : 14620850, "uuid" : "3e72de1d-c81a-3c8b-9c06-5b1e3186de47", "path" : "\/System\/Library\/Frameworks\/Foundation.framework\/Versions\/C\/Foundation", "name" : "Foundation", "CFBundleVersion" : "3502.1.401" }, { "source" : "P", "arch" : "x86_64", "base" : 140703346135040, "CFBundleShortVersionString" : "6.9", "CFBundleIdentifier" : "com.apple.AppKit", "size" : 22356791, "uuid" : "c26f6f9e-8230-3c1f-8c48-02d9de58fbc8", "path" : "\/System\/Library\/Frameworks\/AppKit.framework\/Versions\/C\/AppKit", "name" : "AppKit", "CFBundleVersion" : "2575.60.5" }, { "source" : "P", "arch" : "x86_64", "base" : 140703480422400, "CFBundleShortVersionString" : "2.1.1", "CFBundleIdentifier" : "com.apple.HIToolbox", "size" : 3020526, "uuid" : "1ed7a7b9-e12f-348a-ac39-834f923795b6", "path" : "\/System\/Library\/Frameworks\/Carbon.framework\/Versions\/A\/Frameworks\/HIToolbox.framework\/Versions\/A\/HIToolbox", "name" : "HIToolbox" }, { "source" : "P", "arch" : "x86_64", "base" : 140707845881856, "CFBundleShortVersionString" : "6.5.4", "CFBundleIdentifier" : "com.apple.SwiftUI", "size" : 19220906, "uuid" : "83eb36e0-aeb7-36dd-a912-42fbb13eb403", "path" : "\/System\/Library\/Frameworks\/SwiftUI.framework\/Versions\/A\/SwiftUI", "name" : "SwiftUI", "CFBundleVersion" : "6.5.4" }, { "source" : "P", "arch" : "x86_64", "base" : 140703280361472, "size" : 632104, "uuid" : "3771ea6a-0fe5-3b63-961d-c09e01d5e680", "path" : "\/usr\/lib\/dyld", "name" : "dyld" }, { "size" : 0, "source" : "A", "base" : 0, "uuid" : "00000000-0000-0000-0000-000000000000" }, { "source" : "P", "arch" : "x86_64h", "base" : 140703280074752, "size" : 282716, "uuid" : "de35b5ee-5872-3e5a-a1f0-eb18c5b0434c", "path" : "\/usr\/lib\/libobjc.A.dylib", "name" : "libobjc.A.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 140703283937280, "size" : 248656, "uuid" : "dab10aa4-8afa-3d02-9cde-6023554ac858", "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib", "name" : "libsystem_kernel.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 140703475974144, "CFBundleShortVersionString" : "1.0", "CFBundleIdentifier" : "com.apple.audio.caulk", "size" : 146696, "uuid" : "22877e7f-c603-37d7-8c72-9d864ee6e99d", "path" : "\/System\/Library\/PrivateFrameworks\/caulk.framework\/Versions\/A\/caulk", "name" : "caulk" }, { "source" : "P", "arch" : "x86_64", "base" : 140703284187136, "size" : 48592, "uuid" : "a6d1f05a-0743-31b7-9fe2-268f06ccd51a", "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib", "name" : "libsystem_pthread.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 140703381131264, "CFBundleShortVersionString" : "1.600.0", "CFBundleIdentifier" : "com.apple.SkyLight", "size" : 5033928, "uuid" : "5614b329-06ef-3851-9d89-9ff5e56c9b74", "path" : "\/System\/Library\/PrivateFrameworks\/SkyLight.framework\/Versions\/A\/SkyLight", "name" : "SkyLight" } ], "sharedCache" : { "base" : 140703251918848, "size" : 30064771072, "uuid" : "57b0c2b8-36d6-3cf0-8bd0-0ac6133ec8b3" }, "vmSummary" : "ReadOnly portion of Libraries: Total=1.3G resident=0K(0%) swapped_out_or_unallocated=1.3G(100%)\nWritable regions: Total=667.8M written=460K(0%) resident=0K(0%) swapped_out=460K(0%) unallocated=667.4M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nAccelerate framework 128K 1 \nActivity Tracing 256K 1 \nAttributeGraph Data 1024K 1 \nCG image 152K 17 \nColorSync 108K 11 \nCoreAnimation 7736K 80 \nCoreGraphics 12K 2 \nCoreImage 6892K 1 \nCoreUI image data 3660K 29 \nFoundation 36K 2 \nImage IO 12K 2 \nKernel Alloc Once 8K 1 \nMALLOC 641.5M 80 \nMALLOC guard page 64K 16 \nSTACK GUARD 56.0M 11 \nStack 13.1M 11 \nVM_ALLOCATE 3344K 23 \n__CTF 824 1 \n__DATA 35.2M 958 \n__DATA_CONST 103.0M 974 \n__DATA_DIRTY 2578K 338 \n__FONT_DATA 2352 1 \n__INFO_FILTER 8 1 \n__LINKEDIT 167.2M 11 \n__OBJC_RO 61.3M 1 \n__OBJC_RW 2395K 2 \n__TEXT 1.1G 993 \n__TPRO_CONST 16 2 \nmapped file 621.5M 75 \nshared memory 2328K 19 \n=========== ======= ======= \nTOTAL 2.8G 3665 \n", "legacyInfo" : { "threadTriggered" : { "queue" : "com.apple.main-thread" } }, "logWritingSignature" : "c0103918e89fc14d7dac627078dd586e9e9a3128", "trialInfo" : { "rollouts" : [ { "rolloutId" : "5fb4245a1bbfe8005e33a1e1", "factorPackIds" : { }, "deploymentId" : 240000021 }, { "rolloutId" : "67fd77fe1f9da9148f70d6ed", "factorPackIds" : { }, "deploymentId" : 240000011 } ], "experiments" : [ ] } } Model: MacBookAir9,1, BootROM 2075.120.2.0.0 (iBridge: 22.16.15072.0.0,0), 2 processors, Dual-Core Intel Core i3, 1.1 GHz, 8 GB, SMC Graphics: Intel Iris Plus Graphics, Intel Iris Plus Graphics, Built-In Display: Color LCD, 2560 x 1600 Retina, Main, MirrorOff, Online Memory Module: BANK 0/ChannelA-DIMM0, 4 GB, LPDDR4X, 3733 MHz, Samsung, K3UH5H50MM-JGCJ Memory Module: BANK 2/ChannelB-DIMM0, 4 GB, LPDDR4X, 3733 MHz, Samsung, K3UH5H50MM-JGCJ AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x870), wl0: Jul 26 2024 20:45:01 version 16.20.380.0.3.6.130 FWID 01-c866e60e AirPort: Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports Network Service: Wi-Fi, AirPort, en0 USB Device: USB31Bus USB Device: USB31Bus USB Device: T2Bus USB Device: Touch Bar Backlight USB Device: Apple Internal Keyboard / Trackpad USB Device: Headset USB Device: Ambient Light Sensor USB Device: FaceTime HD Camera (Built-in) USB Device: Apple T2 Controller Thunderbolt Bus: MacBook Air, Apple Inc., 86.0 翻译
08-01
springboot项目配置多数据源时,启动项目出现以下异常,请分析原因,并给出解决办法:D:\sofeware\jdk\jdk1.8\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:1522,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:C:\Users\Wyh\AppData\Local\JetBrains\IntelliJIdea2022.1\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath "D:\sofeware\jdk\jdk1.8\jre\lib\charsets.jar;D:\sofeware\jdk\jdk1.8\jre\lib\deploy.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\access-bridge-64.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\cldrdata.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\dnsns.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\jaccess.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\jfxrt.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\localedata.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\nashorn.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\sunec.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\sunjce_provider.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\sunmscapi.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\sunpkcs11.jar;D:\sofeware\jdk\jdk1.8\jre\lib\ext\zipfs.jar;D:\sofeware\jdk\jdk1.8\jre\lib\javaws.jar;D:\sofeware\jdk\jdk1.8\jre\lib\jce.jar;D:\sofeware\jdk\jdk1.8\jre\lib\jfr.jar;D:\sofeware\jdk\jdk1.8\jre\lib\jfxswt.jar;D:\sofeware\jdk\jdk1.8\jre\lib\jsse.jar;D:\sofeware\jdk\jdk1.8\jre\lib\management-agent.jar;D:\sofeware\jdk\jdk1.8\jre\lib\plugin.jar;D:\sofeware\jdk\jdk1.8\jre\lib\resources.jar;D:\sofeware\jdk\jdk1.8\jre\lib\rt.jar;D:\workspace\gssf-sjh-project\wisesys\taiji-system\target\classes;D:\sofeware\maven\dm-repository\org\springframework\cloud\spring-cloud-starter-bootstrap\3.1.1\spring-cloud-starter-bootstrap-3.1.1.jar;D:\sofeware\maven\dm-repository\org\springframework\cloud\spring-cloud-starter\3.1.1\spring-cloud-starter-3.1.1.jar;D:\sofeware\maven\dm-repository\org\springframework\security\spring-security-rsa\1.0.10.RELEASE\spring-security-rsa-1.0.10.RELEASE.jar;D:\sofeware\maven\dm-repository\org\bouncycastle\bcpkix-jdk15on\1.68\bcpkix-jdk15on-1.68.jar;D:\sofeware\maven\dm-repository\org\bouncycastle\bcprov-jdk15on\1.68\bcprov-jdk15on-1.68.jar;D:\sofeware\maven\dm-repository\org\springframework\cloud\spring-cloud-starter-loadbalancer\3.1.1\spring-cloud-starter-loadbalancer-3.1.1.jar;D:\sofeware\maven\dm-repository\org\springframework\cloud\spring-cloud-loadbalancer\3.1.1\spring-cloud-loadbalancer-3.1.1.jar;D:\sofeware\maven\dm-repository\io\projectreactor\reactor-core\3.4.14\reactor-core-3.4.14.jar;D:\sofeware\maven\dm-repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;D:\sofeware\maven\dm-repository\io\projectreactor\addons\reactor-extra\3.4.6\reactor-extra-3.4.6.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter-cache\2.6.3\spring-boot-starter-cache-2.6.3.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-context-support\5.3.15\spring-context-support-5.3.15.jar;D:\sofeware\maven\dm-repository\com\stoyanr\evictor\1.0.0\evictor-1.0.0.jar;D:\sofeware\maven\dm-repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-discovery\2021.0.1.0\spring-cloud-starter-alibaba-nacos-discovery-2021.0.1.0.jar;D:\sofeware\maven\dm-repository\com\alibaba\cloud\spring-cloud-alibaba-commons\2021.0.1.0\spring-cloud-alibaba-commons-2021.0.1.0.jar;D:\sofeware\maven\dm-repository\com\alibaba\nacos\nacos-client\1.4.2\nacos-client-1.4.2.jar;D:\sofeware\maven\dm-repository\com\alibaba\nacos\nacos-common\1.4.2\nacos-common-1.4.2.jar;D:\sofeware\maven\dm-repository\org\apache\httpcomponents\httpasyncclient\4.1.5\httpasyncclient-4.1.5.jar;D:\sofeware\maven\dm-repository\org\apache\httpcomponents\httpcore\4.4.15\httpcore-4.4.15.jar;D:\sofeware\maven\dm-repository\org\apache\httpcomponents\httpcore-nio\4.4.15\httpcore-nio-4.4.15.jar;D:\sofeware\maven\dm-repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar;D:\sofeware\maven\dm-repository\com\alibaba\nacos\nacos-api\1.4.2\nacos-api-1.4.2.jar;D:\sofeware\maven\dm-repository\io\prometheus\simpleclient\0.12.0\simpleclient-0.12.0.jar;D:\sofeware\maven\dm-repository\io\prometheus\simpleclient_tracer_otel\0.12.0\simpleclient_tracer_otel-0.12.0.jar;D:\sofeware\maven\dm-repository\io\prometheus\simpleclient_tracer_common\0.12.0\simpleclient_tracer_common-0.12.0.jar;D:\sofeware\maven\dm-repository\io\prometheus\simpleclient_tracer_otel_agent\0.12.0\simpleclient_tracer_otel_agent-0.12.0.jar;D:\sofeware\maven\dm-repository\org\yaml\snakeyaml\1.29\snakeyaml-1.29.jar;D:\sofeware\maven\dm-repository\com\alibaba\spring\spring-context-support\1.0.11\spring-context-support-1.0.11.jar;D:\sofeware\maven\dm-repository\org\springframework\cloud\spring-cloud-commons\3.1.1\spring-cloud-commons-3.1.1.jar;D:\sofeware\maven\dm-repository\org\springframework\security\spring-security-crypto\5.6.1\spring-security-crypto-5.6.1.jar;D:\sofeware\maven\dm-repository\org\springframework\cloud\spring-cloud-context\3.1.1\spring-cloud-context-3.1.1.jar;D:\sofeware\maven\dm-repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-config\2021.0.1.0\spring-cloud-starter-alibaba-nacos-config-2021.0.1.0.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter-web\2.6.3\spring-boot-starter-web-2.6.3.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter\2.6.3\spring-boot-starter-2.6.3.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot\2.6.3\spring-boot-2.6.3.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter-logging\2.6.3\spring-boot-starter-logging-2.6.3.jar;D:\sofeware\maven\dm-repository\ch\qos\logback\logback-classic\1.2.9\logback-classic-1.2.9.jar;D:\sofeware\maven\dm-repository\ch\qos\logback\logback-core\1.2.10\logback-core-1.2.10.jar;D:\sofeware\maven\dm-repository\org\slf4j\jul-to-slf4j\1.7.33\jul-to-slf4j-1.7.33.jar;D:\sofeware\maven\dm-repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-core\5.3.15\spring-core-5.3.15.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-jcl\5.3.15\spring-jcl-5.3.15.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter-json\2.6.3\spring-boot-starter-json-2.6.3.jar;D:\sofeware\maven\dm-repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.1\jackson-datatype-jdk8-2.13.1.jar;D:\sofeware\maven\dm-repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.1\jackson-datatype-jsr310-2.13.1.jar;D:\sofeware\maven\dm-repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.1\jackson-module-parameter-names-2.13.1.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter-tomcat\2.6.3\spring-boot-starter-tomcat-2.6.3.jar;D:\sofeware\maven\dm-repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.56\tomcat-embed-core-9.0.56.jar;D:\sofeware\maven\dm-repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.56\tomcat-embed-el-9.0.56.jar;D:\sofeware\maven\dm-repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.56\tomcat-embed-websocket-9.0.56.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-web\5.3.15\spring-web-5.3.15.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-beans\5.3.15\spring-beans-5.3.15.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-webmvc\5.3.15\spring-webmvc-5.3.15.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-aop\5.3.15\spring-aop-5.3.15.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-context\5.3.15\spring-context-5.3.15.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-expression\5.3.15\spring-expression-5.3.15.jar;D:\sofeware\maven\dm-repository\mysql\mysql-connector-java\8.0.27\mysql-connector-java-8.0.27.jar;D:\sofeware\maven\dm-repository\com\google\protobuf\protobuf-java\3.11.4\protobuf-java-3.11.4.jar;D:\workspace\gssf-sjh-project\wisesys\taiji-common\taiji-common-datascope\target\classes;D:\workspace\gssf-sjh-project\wisesys\taiji-common\taiji-common-security\target\classes;D:\workspace\gssf-sjh-project\wisesys\taiji-common\taiji-common-log\target\classes;D:\workspace\gssf-sjh-project\wisesys\taiji-common\taiji-common-redis\target\classes;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter-data-redis\2.6.3\spring-boot-starter-data-redis-2.6.3.jar;D:\sofeware\maven\dm-repository\org\springframework\data\spring-data-redis\2.6.1\spring-data-redis-2.6.1.jar;D:\sofeware\maven\dm-repository\org\springframework\data\spring-data-keyvalue\2.6.1\spring-data-keyvalue-2.6.1.jar;D:\sofeware\maven\dm-repository\org\springframework\data\spring-data-commons\2.6.1\spring-data-commons-2.6.1.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-tx\5.3.15\spring-tx-5.3.15.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-oxm\5.3.15\spring-oxm-5.3.15.jar;D:\sofeware\maven\dm-repository\io\lettuce\lettuce-core\6.1.6.RELEASE\lettuce-core-6.1.6.RELEASE.jar;D:\sofeware\maven\dm-repository\io\netty\netty-common\4.1.73.Final\netty-common-4.1.73.Final.jar;D:\sofeware\maven\dm-repository\io\netty\netty-handler\4.1.73.Final\netty-handler-4.1.73.Final.jar;D:\sofeware\maven\dm-repository\io\netty\netty-resolver\4.1.73.Final\netty-resolver-4.1.73.Final.jar;D:\sofeware\maven\dm-repository\io\netty\netty-buffer\4.1.73.Final\netty-buffer-4.1.73.Final.jar;D:\sofeware\maven\dm-repository\io\netty\netty-codec\4.1.73.Final\netty-codec-4.1.73.Final.jar;D:\sofeware\maven\dm-repository\io\netty\netty-tcnative-classes\2.0.46.Final\netty-tcnative-classes-2.0.46.Final.jar;D:\sofeware\maven\dm-repository\io\netty\netty-transport\4.1.73.Final\netty-transport-4.1.73.Final.jar;D:\workspace\gssf-sjh-project\wisesys\taiji-common\taiji-common-core\target\classes;D:\sofeware\maven\dm-repository\org\springframework\cloud\spring-cloud-starter-openfeign\3.1.1\spring-cloud-starter-openfeign-3.1.1.jar;D:\sofeware\maven\dm-repository\org\springframework\cloud\spring-cloud-openfeign-core\3.1.1\spring-cloud-openfeign-core-3.1.1.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter-aop\2.6.3\spring-boot-starter-aop-2.6.3.jar;D:\sofeware\maven\dm-repository\org\aspectj\aspectjweaver\1.9.7\aspectjweaver-1.9.7.jar;D:\sofeware\maven\dm-repository\io\github\openfeign\form\feign-form-spring\3.8.0\feign-form-spring-3.8.0.jar;D:\sofeware\maven\dm-repository\io\github\openfeign\form\feign-form\3.8.0\feign-form-3.8.0.jar;D:\sofeware\maven\dm-repository\io\github\openfeign\feign-core\11.8\feign-core-11.8.jar;D:\sofeware\maven\dm-repository\io\github\openfeign\feign-slf4j\11.8\feign-slf4j-11.8.jar;D:\sofeware\maven\dm-repository\org\apache\commons\commons-pool2\2.11.1\commons-pool2-2.11.1.jar;D:\sofeware\maven\dm-repository\com\github\pagehelper\pagehelper-spring-boot-starter\1.4.1\pagehelper-spring-boot-starter-1.4.1.jar;D:\sofeware\maven\dm-repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\2.2.2\mybatis-spring-boot-starter-2.2.2.jar;D:\sofeware\maven\dm-repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\2.2.2\mybatis-spring-boot-autoconfigure-2.2.2.jar;D:\sofeware\maven\dm-repository\org\mybatis\mybatis\3.5.9\mybatis-3.5.9.jar;D:\sofeware\maven\dm-repository\com\github\pagehelper\pagehelper-spring-boot-autoconfigure\1.4.1\pagehelper-spring-boot-autoconfigure-1.4.1.jar;D:\sofeware\maven\dm-repository\com\github\pagehelper\pagehelper\5.3.0\pagehelper-5.3.0.jar;D:\sofeware\maven\dm-repository\com\github\jsqlparser\jsqlparser\4.2\jsqlparser-4.2.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter-validation\2.6.3\spring-boot-starter-validation-2.6.3.jar;D:\sofeware\maven\dm-repository\org\hibernate\validator\hibernate-validator\6.2.0.Final\hibernate-validator-6.2.0.Final.jar;D:\sofeware\maven\dm-repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;D:\sofeware\maven\dm-repository\org\jboss\logging\jboss-logging\3.4.3.Final\jboss-logging-3.4.3.Final.jar;D:\sofeware\maven\dm-repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;D:\sofeware\maven\dm-repository\commons-io\commons-io\2.5\commons-io-2.5.jar;D:\sofeware\maven\dm-repository\commons-fileupload\commons-fileupload\1.3.3\commons-fileupload-1.3.3.jar;D:\sofeware\maven\dm-repository\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar;D:\sofeware\maven\dm-repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;D:\sofeware\maven\dm-repository\cn\hutool\hutool-all\5.2.3\hutool-all-5.2.3.jar;D:\sofeware\maven\dm-repository\org\projectlombok\lombok\1.18.22\lombok-1.18.22.jar;D:\sofeware\maven\dm-repository\com\alibaba\fastjson\1.2.83\fastjson-1.2.83.jar;D:\sofeware\maven\dm-repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;D:\sofeware\maven\dm-repository\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;D:\sofeware\maven\dm-repository\org\postgresql\postgresql\42.2.25\postgresql-42.2.25.jar;D:\sofeware\maven\dm-repository\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;D:\sofeware\maven\dm-repository\com\newtec\license\2.3.0\license-2.3.0.jar;D:\sofeware\maven\dm-repository\com\dm\DmJdbcDriver\1.8.0\DmJdbcDriver-1.8.0.jar;D:\sofeware\maven\dm-repository\io\minio\minio\8.0.3\minio-8.0.3.jar;D:\sofeware\maven\dm-repository\com\carrotsearch\thirdparty\simple-xml-safe\2.7.1\simple-xml-safe-2.7.1.jar;D:\sofeware\maven\dm-repository\com\google\guava\guava\29.0-jre\guava-29.0-jre.jar;D:\sofeware\maven\dm-repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;D:\sofeware\maven\dm-repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;D:\sofeware\maven\dm-repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;D:\sofeware\maven\dm-repository\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;D:\sofeware\maven\dm-repository\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;D:\sofeware\maven\dm-repository\com\fasterxml\jackson\core\jackson-annotations\2.13.1\jackson-annotations-2.13.1.jar;D:\sofeware\maven\dm-repository\com\fasterxml\jackson\core\jackson-core\2.13.1\jackson-core-2.13.1.jar;D:\sofeware\maven\dm-repository\com\fasterxml\jackson\core\jackson-databind\2.13.1\jackson-databind-2.13.1.jar;D:\sofeware\maven\dm-repository\com\huaweicloud\esdk-obs-java\3.21.11\esdk-obs-java-3.21.11.jar;D:\sofeware\maven\dm-repository\com\jamesmurty\utils\java-xmlbuilder\1.3\java-xmlbuilder-1.3.jar;D:\sofeware\maven\dm-repository\org\apache\logging\log4j\log4j-core\2.17.1\log4j-core-2.17.1.jar;D:\sofeware\maven\dm-repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;D:\sofeware\maven\dm-repository\commons-net\commons-net\3.8.0\commons-net-3.8.0.jar;D:\sofeware\maven\dm-repository\com\squareup\okhttp3\okhttp\4.9.1\okhttp-4.9.1.jar;D:\sofeware\maven\dm-repository\org\jetbrains\kotlin\kotlin-stdlib\1.6.10\kotlin-stdlib-1.6.10.jar;D:\sofeware\maven\dm-repository\org\jetbrains\annotations\13.0\annotations-13.0.jar;D:\sofeware\maven\dm-repository\com\squareup\okio\okio\2.7.0\okio-2.7.0.jar;D:\sofeware\maven\dm-repository\org\jetbrains\kotlin\kotlin-stdlib-common\1.6.10\kotlin-stdlib-common-1.6.10.jar;D:\sofeware\maven\dm-repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;D:\sofeware\maven\dm-repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;D:\sofeware\maven\dm-repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;D:\sofeware\maven\dm-repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;D:\sofeware\maven\dm-repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;D:\sofeware\maven\dm-repository\net\bytebuddy\byte-buddy\1.11.22\byte-buddy-1.11.22.jar;D:\sofeware\maven\dm-repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;D:\sofeware\maven\dm-repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;D:\sofeware\maven\dm-repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;D:\sofeware\maven\dm-repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;D:\sofeware\maven\dm-repository\org\slf4j\slf4j-api\1.7.33\slf4j-api-1.7.33.jar;D:\sofeware\maven\dm-repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;D:\sofeware\maven\dm-repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;D:\sofeware\maven\dm-repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;D:\sofeware\maven\dm-repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;D:\sofeware\maven\dm-repository\com\kingbase8\Driver\kingbase8\8.6.0\kingbase8-8.6.0.jar;D:\sofeware\maven\dm-repository\com\dameng\DmJdbcDriver18\8.1.1.193\DmJdbcDriver18-8.1.1.193.jar;D:\sofeware\maven\dm-repository\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;D:\sofeware\maven\dm-repository\commons-logging\commons-logging\1.0.4\commons-logging-1.0.4.jar;D:\sofeware\maven\dm-repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;D:\workspace\gssf-sjh-project\wisesys\taiji-system\src\main\lib\gaussdbjdbc.jar;D:\sofeware\maven\dm-repository\com\baomidou\mybatis-plus-boot-starter\3.4.1\mybatis-plus-boot-starter-3.4.1.jar;D:\sofeware\maven\dm-repository\com\baomidou\mybatis-plus\3.4.1\mybatis-plus-3.4.1.jar;D:\sofeware\maven\dm-repository\com\baomidou\mybatis-plus-extension\3.4.1\mybatis-plus-extension-3.4.1.jar;D:\sofeware\maven\dm-repository\com\baomidou\mybatis-plus-core\3.4.1\mybatis-plus-core-3.4.1.jar;D:\sofeware\maven\dm-repository\com\baomidou\mybatis-plus-annotation\3.4.1\mybatis-plus-annotation-3.4.1.jar;D:\sofeware\maven\dm-repository\org\mybatis\mybatis-spring\2.0.5\mybatis-spring-2.0.5.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-autoconfigure\2.6.3\spring-boot-autoconfigure-2.6.3.jar;D:\sofeware\maven\dm-repository\org\springframework\boot\spring-boot-starter-jdbc\2.6.3\spring-boot-starter-jdbc-2.6.3.jar;D:\sofeware\maven\dm-repository\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;D:\sofeware\maven\dm-repository\org\springframework\spring-jdbc\5.3.15\spring-jdbc-5.3.15.jar;D:\sofeware\maven\dm-repository\com\google\code\gson\gson\2.6.2\gson-2.6.2.jar;D:\sofeware\maven\dm-repository\com\alibaba\easyexcel\2.2.7\easyexcel-2.2.7.jar;D:\sofeware\maven\dm-repository\org\apache\poi\poi\3.17\poi-3.17.jar;D:\sofeware\maven\dm-repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;D:\sofeware\maven\dm-repository\org\apache\poi\poi-ooxml\4.1.2\poi-ooxml-4.1.2.jar;D:\sofeware\maven\dm-repository\org\apache\commons\commons-compress\1.19\commons-compress-1.19.jar;D:\sofeware\maven\dm-repository\com\github\virtuald\curvesapi\1.06\curvesapi-1.06.jar;D:\sofeware\maven\dm-repository\org\apache\poi\poi-ooxml-schemas\3.17\poi-ooxml-schemas-3.17.jar;D:\sofeware\maven\dm-repository\org\apache\xmlbeans\xmlbeans\2.6.0\xmlbeans-2.6.0.jar;D:\sofeware\maven\dm-repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;D:\sofeware\maven\dm-repository\cglib\cglib\3.1\cglib-3.1.jar;D:\sofeware\maven\dm-repository\org\ow2\asm\asm\4.2\asm-4.2.jar;D:\sofeware\maven\dm-repository\org\ehcache\ehcache\3.9.9\ehcache-3.9.9.jar;D:\sofeware\maven\dm-repository\com\alibaba\fastjson2\fastjson2\2.0.52\fastjson2-2.0.52.jar;D:\IDEA2022\IntelliJ IDEA 2022.1.4\lib\idea_rt.jar" com.taiji.TaiJiSystemApplication Connected to the target VM, address: &#39;127.0.0.1:1522&#39;, transport: &#39;socket&#39; . ____ _ __ _ _ /\\ / ___&#39;_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | &#39;_ | &#39;_| | &#39;_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) &#39; |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.6.3) 09:18:40.270 [main] INFO o.a.c.h.Http11NioProtocol - [log,173] - Initializing ProtocolHandler ["http-nio-9201"] 09:18:40.273 [main] INFO o.a.c.c.StandardService - [log,173] - Starting service [Tomcat] 09:18:40.273 [main] INFO o.a.c.c.StandardEngine - [log,173] - Starting Servlet engine: [Apache Tomcat/9.0.56] 09:18:40.350 [main] INFO o.a.c.c.C.[.[.[/] - [log,173] - Initializing Spring embedded WebApplicationContext 09:18:40.835 [main] INFO o.a.c.c.StandardService - [log,173] - Stopping service [Tomcat] 09:18:40.868 [main] ERROR org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: &#39;url&#39; attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (the profiles dev are currently active). Disconnected from the target VM, address: &#39;127.0.0.1:1522&#39;, transport: &#39;socket&#39; Process finished with exit code 1
08-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值