36869
お世話になります。  
AWS SDK for C++ を使ってS3にファイルをアップロードする処理を書ています。

・コード

```

        bool hoge()
        {
       　　 Aws::Client::ClientConfiguration config;
        　　config.region = "ap-northeast-1";
    
       　　 Aws::S3::S3Client　S3Client(Aws::Auth::AWSCredentials
               ("accesskey_id","secret_key", "session_token"), config);
    
        　　Aws::S3::Model::PutObjectRequest objectRequest;
        　　objectRequest.WithBucket("bucket_key").WithKey("fileName");
    
        　　objectRequest.SetBody(fileData);
    
            auto putObjectOutcome = S3Client.PutObject(objectRequest);
    　　　　　　 以下省略
    }
    
```

コンパイルは通るのですが、実行した際に上のコードのAws::S3::S3Client S3Client(略)
というコンストラクタに差し掛かったところでエラーが出ます。

・エラー内容

```

    初回例外が 0x00007FFCF4A7E48C (aws-cpp-sdk-core.dll) で発生しました (プロジェクト名.exe 内): 0xC0000005: 場所 0x0000000000000000 の読み取り中にアクセス違反が発生しました。
    
```

gtestを使ってテストを行っているのですが、そのときのエラーとしては

```

    unknown file: error : SEH exception with code 0xc0000005 thrown in the test body.
    
```

が出てFAILEDとなります。

どうやらよくわからないメモリを参照しているようなのですが、原因が不明です。

呼び出し履歴を見るとcrtexe.cのCRTStartup() (626行目)からさらに多く呼び出しが  
行われ、最終的に

```

    testing::internal::HandleSehExceptionsInMethodIfSupported<class testing::Test,void>(class testing::Test *,void ( testing::Test::*)(void),char const *)  
    
```

というところで処理が止まります。

調べてみても良い解決策が見つからないため、こちらで質問させていただきます。  
何かありましたら補足致します。よろしくお願い致します。
CC BY-SA 3.0
2017-07-31T10:08:02.223
36818
2017-08-02T05:02:40.033
2017-07-31T11:47:06.020
19110
24103
question
c++ aws amazon-s3
AWS SDK for C++ のAws::S3::S3Clientで発生するSEH Exceptionについて
Aws SDKの使用開始・使用終了処理を呼び出していなかったため起こったエラーでした。  
使用開始

```

    Aws::SDKOptions options;
    Aws::InitAPI(options);
    
```

使用終了

```

    Aws::ShutdownAPI(options);
    
```

これを追加することで、正常にアップロードが可能となりました。非常に単純な見逃しでした...  
ありがとうございました。
CC BY-SA 3.0
2017-08-02T05:02:40.033
36869
2017-08-02T05:02:40.033
24103
36818
answer